Question 2: 119. Pascal's Triangle II
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?
Explanation
先开始用了递归的方法,得到上一层以后再计算此层。但是不满足O(k)space。所以比较好的方法是在该层从左往右依次计算,最左和最右为1。
Code
123456789public List<Integer> getRow(int rowIndex) {List<Integer> res = new ArrayList<Integer>();for(int i = 0;i<rowIndex+1;i++) { res.add(1); for(int j=i-1;j>0;j--) { res.set(j, res.get(j-1)+res.get(j)); }}return res;