Description:
Given a non-negative integer numRows, generate the first numRows of Pascal’s triangle.
In Pascal’s triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 5
Output:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
题意:返回给定行数的杨辉三角数列;
解法:要求解这道题目,我们首先需要知道什么是杨辉三角,他的两侧的数值均为1,其他位置的数值为上面两个数的和;因此,我们可以从第一行逐渐向下求解;
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<>();
for(int i = 0; i < numRows; i++) {
List<Integer> tempList = new ArrayList<>();
tempList.add(1);
if (i == 0) {
result.add(tempList);
continue;
}
for(int j = 1; j < i; j++) {
int num1 = result.get(i-1).get(j-1);
int num2 = result.get(i-1).get(j);
tempList.add(num1+num2);
}
tempList.add(1);
result.add(tempList);
}
return result;
}
}