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].

问题描述:给出一个整数K,返回杨辉三角的第k行(行号从0开始)。

问题解决:要首先计算出前面一行,一次类推,方法与前面一题相似,只是最后输出真个列表的最后一个即可。

代码如下:

public class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<List<Integer>> l = new ArrayList<List<Integer>>();
        if(rowIndex<0)
            return null;
        if(rowIndex==0){
            ArrayList<Integer> li = new ArrayList<Integer>();
            li.add(1);
            l.add(li);
            return li;
        }
        
        List<Integer> li = new ArrayList<Integer>();
        li.add(1);
        l.add(li);//第0行事先放入
        for(int i=1; i<=rowIndex; i++){
            List<Integer> l1 = new ArrayList<Integer>();
            l1.add(1);
            List<Integer> lt = l.get(i-1);
            for(int j=0; j<lt.size()-1; j++){
                int t = lt.get(j)+lt.get(j+1);
                l1.add(t);
            }
            l1.add(1);
            l.add(l1);
        }
        return l.get(rowIndex);
    }
}

 

posted @ 2015-05-25 20:48  江湖小妞  阅读(115)  评论(0编辑  收藏  举报