package leetcode;
import java.util.ArrayList;
import java.util.List;
public class demo_118 {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list=new ArrayList<List<Integer>>();
if(numRows==0) {return list;}
List<Integer> l1=new ArrayList<Integer>();
l1.add(1);
list.add(l1);
for(int i=1;i<numRows;i++) {
backtrack(list, new ArrayList<Integer>(), i);
}
System.out.println(list);
return list;
}
public void backtrack(List<List<Integer>> list,List<Integer> li,int row) {
li.add(1);
li.add(1);
list.add(new ArrayList<Integer>(li));
if(row>1) {
int index=1;
for(int length=0;length<list.get(row-1).size()-1;length++) {
list.get(row).add(index, list.get(row-1).get(length)+list.get(row-1).get(length+1));
index=index+1;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
demo_118 d18=new demo_118();
d18.generate(5);
}
}