【LeetCode-119】杨辉三角 II
问题
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
示例
输入: 3
输出: [1,3,3,1]
解答
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> result;
for (int i = 0; i <= rowIndex; i++) {
result.push_back(1);
for (int j = i - 1; j > 0; j--)
result[j] += result[j - 1];
}
return result;
}
};
重点思路
从第一行推至目标行,每行从右推至左。杨辉三角中第n行含有n个数字,第一层循环n个push_back保证数目正确,第二层循环从左至右依次推出更新后数字。通过这样的算法设计不需要考虑n=1和2时的特殊情况。