文章目录
一、题目
Given an integer rowIndex, return the rowIndexth (0-indexed) row of the Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it as shown:
Example 1:
Input: rowIndex = 3
Output: [1,3,3,1]
Example 2:
Input: rowIndex = 0
Output: [1]
Example 3:
Input: rowIndex = 1
Output: [1,1]
Constraints:
0 <= rowIndex <= 33
Follow up: Could you optimize your algorithm to use only O(rowIndex) extra space?
二、题解
cpp
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> before(1,1);
if(rowIndex == 0) return before;
int row = 1;
while(rowIndex--){
vector<int> res(row + 1,1);
for(int i = 1;i < row;i++) res[i] = before[i-1] + before[i];
before = res;
row++;
}
return before;
}
};