【Leetcode】Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.

Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.

class Solution(object):

    def generate(self, numRows):

        """

        :type numRows: int

        :rtype: List[List[int]]

        """

        ret = [[1],[1,1]]

        row = [1,1]

        if numRows==0:

            ret = []

        elif numRows==1:

            ret = [[1]]

        elif numRows==2:

            ret = [[1],[1,1]]

        else:

            for i in range(2, numRows):

                row = [1]+[row[x]+row[x-1] for x in range(1, i)]+[1]

                ret.append(row)

        return ret

1 一定要好好审题,比如这里numRows是说有多少row,并不是index

2 if分支在else的时候,和前面分支并没有联系,不能直接ret.append,需要重新初始化一个

你可能感兴趣的:(【Leetcode】Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.)