1

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].

从后往前覆盖法

复杂度

O(N) 时间 O(K) 空间

思路

一行一行地迭代,后面一行迭代覆盖前一行,窍门是:从后往前算
图片描述

注意

每一行第一个和最后一个都是1,
第一个1我们可以保留永远不用覆盖,最后一个1我们迭代覆盖后加上一个1即可

代码

public class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        for (int k = 1; k <= rowIndex; k++) {
            for (int i = k - 1; i >= 1; i--) {
                list.set(i, list.get(i) + list.get(i - 1));
            }
            list.add(1);
        }
        return list;
    }
}

liuqi627
364 声望100 粉丝