LeetCode 119 Pascal's Triangle II

Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal's triangle.

Note that the row index starts from 0.


In Pascal's triangle, each number is the sum of the two numbers directly above it.

Example:


Follow up:

 

c++:

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        
         vector<vector<int> > triangle;
          int j=1;
          for(int i=0;i<=rowIndex;i++)
          {
              vector<int> a;
              for(int k=0;k<j;k++)
              {
                  if(k==0||k==j-1) 
                      a.push_back(1);
                  else
                      a.push_back(triangle[i-1][k]+triangle[i-1][k-1]);
                  
              }
              j++;
              triangle.push_back(a);
          }
        return triangle[rowIndex];
        
    }
};

 

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


 
 
posted @ 2018-07-16 08:15  Shendu.CC  阅读(145)  评论(0编辑  收藏  举报