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 { List<List<Integer>> lastNumberlist = new ArrayList<List<Integer>>(); public List<List<Integer>> generate(int numRows) { if (numRows==0) { return lastNumberlist; } ArrayList<Integer> list=new ArrayList<>(); int num1,num2; list.add(1); lastNumberlist.add(list); if (numRows==1) { return lastNumberlist; } list=new ArrayList<>(); list.add(1); list.add(1); lastNumberlist.add(list); if (numRows==2) { return lastNumberlist; } for (int i = 3; i <=numRows ; i++) { int[] newline=new int[i]; for (int j = 0; j <= i/2; j++) { if (j==0) { newline[j]=1; newline[i-1-j]=1; }else {
num1=lastNumberlist.get(lastNumberlist.size()-1).get(j);
num2=lastNumberlist.get(lastNumberlist.size()-1).get(j-1); newline[j]=num1+num2; newline[i-1-j]=num1+num2; } } list=new ArrayList<>(); for (int j : newline) { list.add(j); } lastNumberlist.add(list); } return lastNumberlist; } }