题目
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?
题目要求只用O(k)额外空间,其实分析下杨辉三角的计算方式,就知道只要O(1)的额外空间就行了。
代码
import java.util.ArrayList; public class PascalsTriangleII { public ArrayList<Integer> getRow(int rowIndex) { ArrayList<Integer> results = new ArrayList<Integer>(); results.add(1); for (int i = 1; i <= rowIndex; ++i) { int temp = 1; for (int j = 1; j < i; ++j) { int innerTemp = results.get(j); results.set(j, temp + results.get(j)); temp = innerTemp; } results.add(1); } return results; } }
LeetCode | Pascal's Triangle II
原文:http://blog.csdn.net/perfect8886/article/details/19918029