Pascal's Triangle LeetCode

来源:互联网 发布:网络大电影投资回报 编辑:程序博客网 时间:2024/06/03 17:35

Pascal's Triangle

 Total Accepted: 10626 Total Submissions: 33234My Submissions

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 ArrayList<ArrayList<Integer>> generate(int numRows) {            ArrayList<ArrayList<Integer>> result =new ArrayList<ArrayList<Integer>>();            if(numRows==0)return result;ArrayList<Integer> pre=new ArrayList<Integer>();ArrayList<Integer> cur=new ArrayList<Integer>();if(numRows==1){cur.add(1);result.add(cur);return result;}if(numRows==2){pre.add(1);result.add(pre);cur.add(1);cur.add(1);result.add(cur);return result;}cur.add(1);result.add(cur);pre.add(1);pre.add(1);result.add(pre);Integer a=0,b=0;for(int i=3;i<=numRows;i++){cur=new ArrayList<Integer>();//一定要这么写,如果用clear或者是直接设置为null会报空值的错误,因为后面的pre是对cur对象的引                                  //用,也说明了clear是对象的清除,而不是对该引用的清除;int size=pre.size();int j=0;a=pre.get(j++);cur.add(a);while(j<size){b=(Integer)pre.get(j++);cur.add(a+b);a=b;}cur.add(a);result.add(cur);pre=cur;}return result;    }}]
0 0
原创粉丝点击