题目
给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:
输入: rowIndex = 3
输出: [1,3,3,1]1
2
2
示例 2:
输入: rowIndex = 0
输出: [1]1
2
2
示例 3:
输入: rowIndex = 1
输出: [1,1]1
2
2
提示:
0 <= rowIndex <= 33
进阶:
你可以优化你的算法到 O (rowIndex) 空间复杂度吗?
题解
java
public List<Integer> getRow(int rowIndex) {
List<Integer> result = new ArrayList<>();
result.add(1);
if (rowIndex > 0) {
result.add(1);
}
for (int i = 2; i <= rowIndex; i++) {
int previous = 1;
for (int j = 1; j < i; j++) {
int temp = result.get(j);
result.set(j, temp + previous);
previous = temp;
}
result.add(1);
}
return result;
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18