您的位置:首页 > 其它

LeetCode 119. Pascal's Triangle II

2016-07-24 11:58 309 查看
Given an index k, return the kth row of the Pascal's triangle.

For example, given k = 3,

Return 
[1,3,3,1]
.

Note:

Could you optimize your algorithm to use only O(k) extra space?

写法一:

class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> lastRow;
vector<int> res;
if(rowIndex == 0){
res.push_back(1);
return res;
}
int i;
for(i = 0; i <= rowIndex; i ++){
res.clear();
int j;
for(j = 0; j <= i; j ++){
res.push_back(1);
}
for(j = 1; j <= i / 2; j ++){
res[j] = res[i - j] = lastRow[j - 1] + lastRow[j];
}
lastRow.clear();
lastRow = res;
}
return res;
}
};

写法二:

class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> lastRow;
vector<int> res;
int i;
for(i = 0; i <= rowIndex; i ++){
res.clear();
res.push_back(1);
lastRow.push_back(1);
int j;
for(j = 1; j < i; j ++){
res.push_back(lastRow[j - 1] + lastRow[j]);
}
if(i) res.push_back(1);
lastRow = res;
}
return res;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: