您的位置:首页 > 其它

Pascal's Triangle II

2015-01-26 21:18 260 查看
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问题,这个就不难了吧~

public class Solution {
public List<Integer> getRow(int rowIndex) {
int numRows = rowIndex+1;
List<List<Integer>>triangle_list = new ArrayList<List<Integer>>();
//初始化第一和第二行
List<Integer>list1 = new ArrayList<Integer>();
List<Integer>list2 = new ArrayList<Integer>();
list1.add(1);
list2.add(1);
list2.add(1);

//分情况讨论
if(numRows==1){
triangle_list.add(list1);
}

if(numRows==2){
triangle_list.add(list1);
triangle_list.add(list2);
}

if(numRows>2){
triangle_list.add(list1);
triangle_list.add(list2);
for(int i=2;i<numRows;i++){//i是行标对应外层list下标
List<Integer>list3 = triangle_list.get(i-1);
List<Integer>list4 = new ArrayList<Integer>();
list4.add(1);
for(int j=1;j<=i-1;j++){//根据杨辉三角用上一行list3来计算当前行list4
list4.add(list3.get(j-1)+list3.get(j));
}
list4.add(1);
triangle_list.add(list4);
}
}

return triangle_list.get(rowIndex);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: