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 {
private List<Integer> createNext( List<Integer> pre){
List<Integer> list = new ArrayList<Integer>();
list.add(1);
if( pre!=null && pre.size()>0 ){
int len = pre.size();
if( len>1 ){
for( int i=0; i<len-1; i++ ){
list.add( pre.get(i)+pre.get(i+1) );
}
}
list.add(1);
}
return list;
}
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> lists = new ArrayList<List<Integer>>();
List<Integer> pre = null;
for( int i=0; i<numRows; i++ ){
pre = createNext(pre);
lists.add( pre );
}
return lists;
}
}