118. Pascal's Triangle
118. 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] ]
public class Solution { /* public List<List<Integer>> generate(int numRows) { List<List<Integer>> res = new ArrayList<>(); if(numRows == 0) return res; List<Integer> member = new ArrayList<>(); member.add(1); res.add(member); if(numRows == 0) return res; for(int i = 1; i< numRows ; i++){ List<Integer> newMember = new ArrayList<>(); newMember.add(1); for(int j = 0; j < member.size() -1; j ++){ newMember.add(member.get(j) + member.get(j+1)); } newMember.add(1); res.add(newMember); member = newMember; } return res; } */ // better way // set(int index, E element) Replaces the element at the specified position in this list with the specified element (optional operation). public List<List<Integer>> generate(int numRows) { List<List<Integer>> res = new ArrayList<>(); if(numRows == 0) return res; List<Integer> member = new ArrayList<>(); for(int i = 0; i< numRows ; i++){ member.add(0,1); //每次在首度加1 for(int j = 1 ; j < member.size() -1 ; j++){ member.set(j, member.get(j) + member.get(j +1)); } System.out.println(member); res.add(new ArrayList<Integer> (member)); } return res; } }