LeetCode 之 Pascal's Triangle II

来源:互联网 发布:数据库mdf文件下载 编辑:程序博客网 时间:2024/05/22 22:26
原题:

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;    }};


原创粉丝点击