Pascal's Triangle
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
解题:
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
解题:
注意下标访问,注意0的时候返回空
#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
vector<vector<int> > generate(int numRows) {
vector<vector<int> > vvint;
if(numRows==0)
return vvint;
vector<int> v1;
v1.push_back(1);
vvint.push_back(v1);
if(numRows==1)
return vvint;
for(int i=2;i<=numRows;++i){
vector<int> v;
for(int j=0;j<i;++j){
if(j==0||j==i-1)
v.push_back(1);
else{
vector<int> v0 = vvint[vvint.size()-1];
v.push_back(v0[j]+v0[j-1]);
}
}
vvint.push_back(v);
}
return vvint;
}
};
int main(){
Solution s;
vector<vector<int> > vvint = s.generate(6);
for(int i=0;i<vvint.size();++i)
{
vector<int> v = vvint[i];
for(int j = 0 ;j<v.size();++j)
cout<<v[j]<<" ";
cout<<endl;
}
return 0;
}