LeetCode#118-杨辉三角
package shuzu; import java.util.ArrayList; import java.util.List; /* 118. 杨辉三角 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ] */ public class p118 { public List<List<Integer>> generate(int numRows) { ArrayList<ArrayList<Integer>>arrayList=new ArrayList<>(); if(numRows<=0)return (List)arrayList; ArrayList<Integer>pre=new ArrayList<>(); pre.add(1); arrayList.add(pre); if(numRows==1)return (List)arrayList; for(int i=1;i<numRows;i++){ ArrayList<Integer>list=new ArrayList<>(); list.add(1); int j=1; while (j<i){ list.add(pre.get(j-1)+pre.get(j)); j++; } list.add(1); pre=list; arrayList.add(list); } return (List)arrayList; } }
运行结果: