首页 > 代码库 > LeetCode Pascal's Triangle

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; }}

 

LeetCode Pascal's Triangle