杨辉三角形的问题比较简答,第一题实在太简单,我都不往上贴了,肯定都会写。这个第二题其实也没什么,跟三角形计算路径的那道题有点像,如果输入是n,那就从第一行算到第n行,每次保存上一行的数据就行了,因为只跟上一行有关嘛,为了防止覆盖,还是要从后往前算。
直接贴代码:
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> res(rowIndex+1) ;
if(rowIndex < 0)
return res;
res[0] = 1;
for(int i=1;i<=rowIndex;i++){
res[i] = 1;
for(int j=i-1;j>0;j--){
res[j] = res[j-1]+res[j];
}
}
return res;
}
};