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] ]
思路:设置一个int[numRows][numRows],将第0列全部设置为1,第0行除第一个外全部设置为0.numRows[i][j]=numRows[i-1][j-1]+numRows[i-1][j];
代码如下(已通过leetcode)
public class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> lists=new ArrayList<List<Integer>>(); int[][] temp=new int[numRows][numRows]; for(int i=0;i<numRows;i++) temp[i][0]=1; for(int i=1;i<numRows;i++) { for(int j=1;j<numRows;j++) { temp[i][j]=temp[i-1][j-1]+temp[i-1][j]; } } for(int i=0;i<numRows;i++) { List<Integer> list= new ArrayList<Integer>(); for(int j=0;j<=i;j++) { list.add(temp[i][j]); } lists.add(list); } return lists; } }