题目
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
******************************************/