您的位置:首页 > 其它

LeetCode 之 Pascal's Triangle II

2013-11-12 01:16 453 查看
原题:

Given an index k, return the kth row of the Pascal's triangle.

For example, given k = 3,

Return
[1,3,3,1]
.

杨辉三角2,其实和上一个题没区别,可以回忆一下上一个题杨辉三角只不过只需要最后的结果,因此用两个指针来回指着,及时delete就能节约空间。不过需要复习一下vector的基本操作和指针的使用。。。


class Solution {
public:
vector<int> getRow(int rowIndex) {
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.

//用两个指针指向两个vector
vector<int>*now;
vector <int>* last ;

//分配空间
now = new vector<int>;
now->push_back(1);

for(int i = 0 ; i < rowIndex ; i++){
//把上一次的vector 变成last,给now重新申请空间
last = now;

now = new vector<int>;

now->push_back(1);
for (int j = 0; j < last->size()-1 ; j++)
{
//注意vector指针的使用
now->push_back( (*last)[j] + (*last)[j+1] );
}
now->push_back(1);
//节省空间
delete last;
}

return *now;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: