LeetCode题解之Pascal's Triangle II

1、题目描述

 

2、题目分析

题目要求返回杨辉三角的某一行,需要将杨辉三角的某行的全部计算出来。

3、代码实现

 1  vector<int> getRow(int rowIndex) {
 2         
 3         if( rowIndex == 0 )
 4             return vector<int>(1,1);
 5         
 6         vector<int>b{1,1};
 7         int n = 2;
 8         while(n <= rowIndex){
 9             vector<int> r = calNextline(b);
10             b.resize( r.size() );
11             for(int i = 0; i < r.size(); i++){
12                 b[i] = r[i];
13             }
14             n++;
15         }
16         
17         
18         return b;
19     }
20     
21     vector<int> calNextline( vector<int> v){
22         if( v.size() < 2){
23             return v;
24         }
25         
26         vector<int> rv(v.size() + 1, 1);
27         
28         for(int i = 0; i < v.size()-1; i++){
29             rv[i+1] = v[i] + v[i+1];
30         }
31         return rv;
32     }
33      

 

posted @ 2018-08-27 16:59  山里的小勇子  阅读(125)  评论(0编辑  收藏  举报