5/30/2014

20. Pascal's Triangle

public class Solution {
    public ArrayList<ArrayList<Integer>> generate(int numRows) {
        ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>> ();
        ArrayList<Integer> temp = new ArrayList<Integer> ();
       
        if (numRows==0) return res;
        temp.add(1);
        res.add((ArrayList<Integer>) temp.clone());
        if (numRows==1) return res;
        temp.add(1);
        res.add((ArrayList<Integer>) temp.clone());
        if (numRows==2) return res;
       
        for (int i=2; i<numRows; i++) {
            temp.clear();
            temp.add(1);
            ArrayList<Integer> temp2 = res.get(res.size()-1);
            for (int j=0; j<temp2.size()-1; j++) {
                temp.add(temp2.get(j)+temp2.get(j+1));
            }
            temp.add(1);
            res.add((ArrayList<Integer>) temp.clone());
        }
       
        return res;
    }
}

1 条评论: