这一次的问题我本来以为照抄上一次的内容就能做出来,然后发现对上一版的改动还挺大的。主要就是递归的使用,以及递归代码出现的位置。
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> resList = new ArrayList<Integer>();
List<Integer> beforeList = new ArrayList<Integer>();//上一行的记录
if(rowIndex == 0) {
resList.add(1);
return resList;
}
if(rowIndex == 1) {
resList.add(1);
resList.add(1);
return resList;
}
//递归代码的出现位置不要放在循环之中,放在之外
beforeList = getRow(rowIndex - 1);
for(int i = 1;i < rowIndex ; i++) {
resList.add(beforeList.get(i-1) + beforeList.get(i));
}
//首尾加1
resList.add(0, 1);
resList.add(resList.size(), 1);
return resList;
}
}