【LeetCode從零單排】No118 Pascal's Triangle

李博Garvin發表於2015-03-09

題目

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

程式碼

public class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> result=new ArrayList<List<Integer>>();
      //  List<Integer> temp=new List<Integer>();
        if(numRows==0) return result;
        if(numRows==1) {
            List<Integer> temp=new ArrayList<Integer>();
            temp.add(1);
            result.add(temp);
            return result;
        }
        if(numRows==2){
            List<Integer> temp1=new ArrayList<Integer>();
            List<Integer> temp2=new ArrayList<Integer>();
            temp1.add(1);
            temp2.add(1);
            temp2.add(1);
            result.add(temp1);
            result.add(temp2);
            return result;
        }
            List<Integer> temp1=new ArrayList<Integer>();
            List<Integer> temp2=new ArrayList<Integer>();
            temp1.add(1);
            temp2.add(1);
            temp2.add(1);
            result.add(temp1);
            result.add(temp2);
        
        for(int i=3;i<=numRows;i++){
             List<Integer> temp=new ArrayList<Integer>();
             temp.add(1);
             for(int j=0;j<i-2;j++){
                 temp.add(result.get(i-2).get(j)+result.get(i-2).get(j+1));
             }
             temp.add(1);
             result.add(temp);
        }
        return result;
        
        
    }
}


/********************************

* 本文來自部落格  “李博Garvin“

* 轉載請標明出處:http://blog.csdn.net/buptgshengod

******************************************/




相關文章