标签:array
Given numRows, generate the first numRows of Pascal‘s triangle.
For example, given numRows = 5,
Return
[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
Pascal的每一层以1开始和结束 并且自第二位起 其值为其上一层的对角两数之和 用for循环 可以逐步完成此构造 代码如下:
public class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> res=new ArrayList<List<Integer>>(); if(numRows==0)return res; List<Integer> tmp=new ArrayList<Integer>(); tmp.add(1); res.add(tmp); if(numRows==1)return res; for(int i=1;i<numRows;i++){ List<Integer> ntmp=new ArrayList<Integer>(); ntmp.add(1); for(int j=0;j<i-1;j++){ ntmp.add(res.get(i-1).get(j)+res.get(i-1).get(j+1)); } ntmp.add(1); res.add(ntmp); } return res; } }
标签:array
原文地址:http://blog.csdn.net/u012734829/article/details/42392151