和118一样,只是输出不一样,过程也是类似的。注意comment中提到的细节。 118 和119 还是可以归到 level traversal一类的,和3道树的题目,2到populating pointer的题目,然后这里两道input是array的题目
代码:
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> currLevel= new ArrayList<Integer>();
currLevel.add(1);
if(rowIndex==0) return currLevel;
for(int level=1; level<=rowIndex; level++){ // for constructing the new row at "level-th" level
List<Integer> nextLevel= new ArrayList<Integer>();
nextLevel.add(1);
for(int i=1; i<currLevel.size(); i++){ // currLevel从第2个序号到最后一个序号都会被用上!这一点要有概念,做题的时候才熟练。
nextLevel.add(currLevel.get(i)+currLevel.get(i-1));
}
nextLevel.add(1);
currLevel=nextLevel;
}
return currLevel;
}
}
// 注意了!这里的index是从0开始的,不是1开始的,从例子中的,k 与结果的 size 相差1也可以看出来啊!
// 这和上一题的 numRows 容易混淆。