问题描述:输出杨辉三角。
思路:两边的11直接拼接,中间的数字都是由上一个拼接好的数列两两加和得到。
原答案:
public List<List<Integer>> generate(int numRows) {
List<Integer> list=new ArrayList<Integer>();
List<List<Integer>> res=new ArrayList<List<Integer>>();
if(numRows==0)
return res;
list.add(1);
res.add(list);
if(numRows==1)
return res;
for(int i=1;i<numRows;i++){
list=new ArrayList<Integer>();
List<Integer> prev=res.get(i-1);
list.add(1);
int size=prev.size();
for(int j=0;j<size-1;j++){
int sum=prev.get(j)+prev.get(j+1);
list.add(sum);
}
list.add(1);
res.add(list);
}
return res;
}