题目描述
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
代码
package pid119;
import java.util.List;
import java.util.ArrayList;
public class Solution {
public List<Integer> getRow(int rowIndex){
// 使用递归
List<Integer> res = new ArrayList<>();
if(rowIndex == -1){
return res;
}else if(rowIndex == 0){
res.add(1);
return res;
}
// 其它行:至少都包含左右两个元素“1”
res.add(1);
// 递归得到前一行的元素
List<Integer> previous = getRow(rowIndex - 1);
for(int i=0;i<previous.size()-1;i++){
res.add(previous.get(i)+previous.get(i+1));
}
res.add(1);
return res;
}
}