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] ]题意:给出行数,输出杨辉三角
思路:第一行输出1,第二行输出[1,1],第三行除了首尾为1外,其余的为上一行的两个相邻的和
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> ans = new ArrayList<List<Integer>>();
for (int i = 0; i < numRows; i++) {
ArrayList<Integer> arrList = new ArrayList<Integer>();
if (i == 0) {
arrList.add(1);
ans.add(arrList);
} else if (i == 1) {
arrList.add(1);
arrList.add(1);
ans.add(arrList);
} else {
arrList.add(1);
List<Integer> prev = ans.get(i - 1);
for (int j = 1, len = prev.size(); j < len; j++) {
int tmp = prev.get(j - 1) + prev.get(j);
arrList.add(tmp);
}
arrList.add(1);
ans.add(arrList);
}
}
return ans;
}
}