您的位置:首页 > 其它

118 Pascal' Triangle 逻辑已经跟不上了咋整= =

2017-03-14 15:34 405 查看
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
if(numRows==0){
return result; // 输入为0的时候,返回[]
}
List<Integer> firstrow = new ArrayList<Integer>();
firstrow.add(1);//第一行为[1]
result.add(firstrow);
for(int i=2;i<=numRows;i++){
List<Integer> row = new ArrayList<Integer>();
row.add(1);//每一行的第一个都是1
List<Integer> prerow = result.get(result.size()-1);//就是最终输出的list里面的倒数第二行 现在正在算的是最后一行(循环)
for(int j=1;j<i-1;j++){ //这里为什么是i-1呢?:因为最后一个数还是1,直接手动加
row.add(prerow.get(j-1)+prerow.get(j));//剩下来的list的第j个元素等于上一行的第j-1个元素+第j个元素,get用来返回元素
}
row.add(1);//最后的一个元素1
result.add(row);
}
return result;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pascal