1. 程式人生 > >[LeetCode&Python] Problem 118. Pascal's Triangle

[LeetCode&Python] Problem 118. Pascal's Triangle

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


In Pascal's triangle, each number is the sum of the two numbers directly above it.

Example:

Input: 5
Output:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

class Solution(object):
    def generate(self, numRows):
        """
        :type numRows: int
        :rtype: List[List[int]]
        """
        if numRows==0:
            return []
        ans=[[1]]
        for i in range(1,numRows):
            j=0
            row=[]
            while j<1+i:
                if j==0 or j==i:
                    row.append(1)
                else:
                    row.append(ans[i-1][j-1]+ans[i-1][j])
                j+=1
            ans.append(row)
        return ans