首页 > 代码库 > Leetcode-Pascal's Triangle

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

Solution:
public class Solution {    public List<List<Integer>> generate(int numRows) {        List<List<Integer>> tri = new ArrayList<List<Integer>>();        List<Integer> curRow = new ArrayList<Integer>();        if (numRows==0)            return tri;                curRow.add(1);        tri.add(curRow);        int len;        for (int i=1;i<numRows;i++){            List<Integer> preRow = tri.get(i-1);            curRow = new ArrayList<Integer>();            len = i+1;            //j==0            curRow.add(1);            //j==1 to (len-2)            for (int j=1;j<len-1;j++)                curRow.add(preRow.get(j-1)+preRow.get(j));            //j==len-1            curRow.add(1);            tri.add(curRow);        }                return tri;    }}

这是一个简单的递推问题。

Leetcode-Pascal's Triangle