解题思路
- 当
numRows
为0时,return[]
当numRows为1,2时,return [[1]],[[1],[1,1]]
当numRows大于2时,从第3层迭代到numRows层,我们可以用上层的数据依次计算出当前层中间的数据,这里用list1表示,我们用[1]+list1+[1]完成本次的数组组合 。
代码
class Solution(object): def generate(self, numRows): """ :type numRows: int :rtype: List[List[int]] """ nums = [[1],[1,1]] if numRows == 0: return [] #当numRovs为0时候返回[] if numRows in [0,1,2]: return_num = [[1]*(i+1) for i in range(numRows)] #当numRovs为1,2,时候额杨辉三角 return return_num else: for num in range(2,numRows): list1 = [] #这里储存计算得到的数据 for i in range(num-1): list1.append(nums[num-1][i] + nums[num-1][i+1]) nums.append([1]+list1+[1]) return nums