题目描述:
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3 输出: [1,3,3,1]
思路:
这道题目和 118 题的思路一致,不过如果只要返回第 k 行的话,不再需要将整个三角形的数据都记录下来。计算每一行的时候,直接将上一次的计算结果拿来使用即可。
Java 代码:
public List<Integer> getRow(int rowIndex) { List<Integer> row = new ArrayList(); if(rowIndex < 0){ return row; } row.add(1); for(int i=1; i<=rowIndex; i++){ List<Integer> tmp = new ArrayList(); tmp.add(1); for(int j=1;j<row.size();j++){ tmp.add(j,row.get(j)+row.get(j-1)); } tmp.add(1); row = tmp; } return row; }