题目
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] ]
代码
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result=new ArrayList<List<Integer>>();
// List<Integer> temp=new List<Integer>();
if(numRows==0) return result;
if(numRows==1) {
List<Integer> temp=new ArrayList<Integer>();
temp.add(1);
result.add(temp);
return result;
}
if(numRows==2){
List<Integer> temp1=new ArrayList<Integer>();
List<Integer> temp2=new ArrayList<Integer>();
temp1.add(1);
temp2.add(1);
temp2.add(1);
result.add(temp1);
result.add(temp2);
return result;
}
List<Integer> temp1=new ArrayList<Integer>();
List<Integer> temp2=new ArrayList<Integer>();
temp1.add(1);
temp2.add(1);
temp2.add(1);
result.add(temp1);
result.add(temp2);
for(int i=3;i<=numRows;i++){
List<Integer> temp=new ArrayList<Integer>();
temp.add(1);
for(int j=0;j<i-2;j++){
temp.add(result.get(i-2).get(j)+result.get(i-2).get(j+1));
}
temp.add(1);
result.add(temp);
}
return result;
}
}
/********************************
* 本文来自博客 “李博Garvin“
* 转载请标明出处:http://blog.csdn.net/buptgshengod
******************************************/