【LeetCode】Pascal's Triangle 解题报告

【LeetCode】Pascal’s Triangle 解题报告

[LeetCode]

https://leetcode.com/problems/pascals-triangle/

Total Accepted: 83023 Total Submissions: 247907 Difficulty: Easy

Question

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

Ways

杨辉三角。

智商呀!智商!大一的题竟然纠结的有一个小时!

最后找到错误的根源在于第10行的temp=new ArrayList();之前写的是temp.clear();
这样的问题是clear()之后那个temp还在用,就是说如果下次修改temp的话会把原来已经放进去的给改了。

所以java基础很重要!

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

AC:2ms

Date

2016 年 05月 8日

你可能感兴趣的:(LeetCode)