Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return [1,3,3,1]
.
完成Pascal's Triangle问题,这个就不难了吧~
1 public class Solution { 2 public List<Integer> getRow(int rowIndex) { 3 int numRows = rowIndex+1; 4 List<List<Integer>>triangle_list = new ArrayList<List<Integer>>(); 5 //初始化第一和第二行 6 List<Integer>list1 = new ArrayList<Integer>(); 7 List<Integer>list2 = new ArrayList<Integer>(); 8 list1.add(1); 9 list2.add(1); 10 list2.add(1); 11 12 //分情况讨论 13 if(numRows==1){ 14 triangle_list.add(list1); 15 } 16 17 if(numRows==2){ 18 triangle_list.add(list1); 19 triangle_list.add(list2); 20 } 21 22 if(numRows>2){ 23 triangle_list.add(list1); 24 triangle_list.add(list2); 25 for(int i=2;i<numRows;i++){//i是行标对应外层list下标 26 List<Integer>list3 = triangle_list.get(i-1); 27 List<Integer>list4 = new ArrayList<Integer>(); 28 list4.add(1); 29 for(int j=1;j<=i-1;j++){//根据杨辉三角用上一行list3来计算当前行list4 30 list4.add(list3.get(j-1)+list3.get(j)); 31 } 32 list4.add(1); 33 triangle_list.add(list4); 34 } 35 } 36 37 38 return triangle_list.get(rowIndex); 39 40 } 41 }