题目如下:
Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return [1,3,3,1].
Note:
Could you optimize your algorithm to use only O(k) extra space?
我的代码:
/*
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
*/
// 268ms
public class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> list = new ArrayList<Integer> (rowIndex + 1);
list.add(1);
if (rowIndex == 0) {
return list;
}
list.add(1);
if (rowIndex == 1) {
return list;
}
for (int i = 2; i <= rowIndex; ++i) {
list.add(1);
for (int j = i - 1; j > 0; --j) {
list.set(j, list.get(j) + list.get(j - 1));
}
}
return list;
}
}