LeetCode--Pascal's Triangle
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] ]
题目描述:给出行号,输出杨辉三角的前N行。
题目解析:要注意特殊情况,当输入的是0时,应返回空的列表;然后分1和大于1两种情况分别添加。
代码如下:
public class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> l = new ArrayList<List<Integer>>(); if(numRows<=0) return l; if(numRows==1){ ArrayList<Integer> li = new ArrayList<Integer>(); li.add(1); l.add(li); return l; } List<Integer> li = new ArrayList<Integer>(); li.add(1); l.add(li);//第一行事先放入 for(int i=2; i<=numRows; i++){ List<Integer> l1 = new ArrayList<Integer>(); l1.add(1); //开始加1 List<Integer> lt = l.get(i-2); for(int j=0; j<lt.size()-1; j++){ int t = lt.get(j)+lt.get(j+1); l1.add(t); } l1.add(1); //最后加1 l.add(l1); } return l; } }