LeetCode(119) Pascal's Triangle II (Java)

题目如下:

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 getRow(int rowIndex) {
		List list = new ArrayList (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;
	}
}


你可能感兴趣的:(Java)