给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
1.直接法
思路: 逐层计算每层的数组,每层的数组的值都基于上一层数组的值计算得到
class Solution(object):
def generate(self, numRows):
"""
:type numRows: int
:rtype: List[List[int]]
"""
if numRows == 0:
return []
if numRows == 1:
return [[1]]
if numRows == 2:
return [[1],[1,1]]
if numRows > 2:
rlist = [[1],[1,1]]
for i in range(3,numRows+1):
newlist = [1]
for j in range(len(rlist)-1):
newlist.append(rlist[-1][j] + rlist[-1][j+1])
newlist.append(1)
rlist.append(newlist)
return rlist