IncredibleThings

导航

LeetCode-Pascal's Triangle II

Given an index k, return the kth row of the Pascal's triangle.

For example, given k = 3,
Return [1,3,3,1].

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

  

public class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<Integer> res=new ArrayList<Integer>();
        if(rowIndex<0){
            return res;
        }
        res.add(1);
        if(rowIndex == 0){
            return res;
        }
        for(int i=1; i<=rowIndex; i++){
            res=getRow(res);
        }
        return res;
    }
    
    public List<Integer> getRow(List<Integer> lastRow){
        List<Integer> res=new ArrayList<Integer>();
        int len=lastRow.size();
        lastRow.add(0,0);
        lastRow.add(len+1,0);
        for(int i=0; i<lastRow.size()-1; i++){
            int element=lastRow.get(i)+lastRow.get(i+1);
            res.add(element);
        }
        return res;
    }
}

  

posted on 2016-05-14 05:09  IncredibleThings  阅读(178)  评论(0编辑  收藏  举报