IncredibleThings

导航

LeetCode-Pascal's Triangle

Given numRows, generate the first numRows of Pascal's triangle.

For example, given numRows = 5,
Return

[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

注意pascal's triangle 的定义

 

public class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res=new ArrayList<List<Integer>>();
        if (numRows <= 0){
            return res;
        }
        for(int i=0; i<numRows; i++){
            List<Integer> row=new ArrayList<Integer>();
            if(i==0){
                row.add(1);
            }
            else{
                int j=i-1;
                for(int k=0; k<=i; k++){
                    if(k==0){
                        row.add(1);
                    }
                    if(k==i){
                        row.add(1);
                    }
                    if(k != 0 && k != i){
                        row.add(res.get(j).get(k-1)+res.get(j).get(k));
                    }
                }
                
            }
            res.add(row);
        }
        return res;
    }
}

 

posted on 2016-05-10 05:56  IncredibleThings  阅读(184)  评论(0编辑  收藏  举报