LeetCode Pascal's Triangle


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; } }
原文地址:https://www.cnblogs.com/birdhack/p/4020592.html