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

Pascal's Triangle II

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来计算当前行list430                      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 }

 

Pascal's Triangle II