LeetCode 118 Pascal's Triangle

来源:互联网 发布:linux防火墙状态查看 编辑:程序博客网 时间:2024/05/10 10:08

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。

代码如下:

public static List<List<Integer>> generate(int numRows) {List<List<Integer>> triangle = new LinkedList<List<Integer>>();if (numRows <= 0) return triangle;List<Integer> lineNew1 = new ArrayList<Integer>();lineNew1.add(1);triangle.add(lineNew1);if (numRows == 1) return triangle;List<Integer> lineNew2 = new ArrayList<Integer>();lineNew2.add(1);lineNew2.add(1);triangle.add(lineNew2);if (numRows == 2) return triangle;for (int i = 2; i < numRows; i++) {List<Integer> lineNew = new ArrayList<Integer>();List<Integer> line = triangle.get(i - 1);for (int j = 0; j < i - 1; j++) {int num = line.get(j) + line.get(j + 1);lineNew.add(j, num);}lineNew.add(0, 1);lineNew.add(i, 1);triangle.add(lineNew);}return triangle;}



0 0
原创粉丝点击