LeetCode Pascal's Triangle

来源:互联网 发布:帝王蟹上岸要杀死知乎 编辑:程序博客网 时间:2024/06/09 15:17

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]]
题意:给出行数,输出杨辉三角

思路:第一行输出1,第二行输出[1,1],第三行除了首尾为1外,其余的为上一行的两个相邻的和

public class Solution {    public List<List<Integer>> generate(int numRows) {        List<List<Integer>> ans = new ArrayList<List<Integer>>();              for (int i = 0; i < numRows; i++) {           ArrayList<Integer> arrList = new ArrayList<Integer>();           if (i == 0) {               arrList.add(1);               ans.add(arrList);           } else if (i == 1) {               arrList.add(1);               arrList.add(1);               ans.add(arrList);           } else {               arrList.add(1);               List<Integer> prev = ans.get(i - 1);               for (int j = 1, len = prev.size(); j < len; j++) {                   int tmp = prev.get(j - 1) + prev.get(j);                   arrList.add(tmp);               }               arrList.add(1);               ans.add(arrList);           }             }              return ans;    }}



0 0
原创粉丝点击