题目:
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?
题目分析:
题目要求,任意给出一个非负整数k,返回杨辉三角的第k行。(从第0行开始计数。)
思路:
暂略
代码:
public class Solution {
public List<Integer> getRow(int rowIndex) {
if (rowIndex < 0){
return null;
}
int[] result =new int[rowIndex + 1 + 2];
result[0] = 0;
result[1] = 1;
result[2] = 0;
int i;
for (int n = 1; n <= rowIndex; n++){
int temp1 = result[0];
int temp2 = result[1];
for (i = 1; i <= n + 1; i++){
result[i] = temp1 + temp2;
temp1 = temp2;
temp2 = result[i + 1];
}
result[i] = 0;
}
List<Integer> finalResult =new ArrayList<Integer>();
for (i = 1; i <= rowIndex+1; i++){
finalResult.add(result[i]);
}
return finalResult;
}
}