题目描述:
第一次提交:
class Solution: def generate(self, numRows: int): l = [] for i in range(numRows): n = [1]*(i+1) if len(n)>2: #pre = [1,1] for j in range(1,len(n)-1): n[j] = pre[j-1]+pre[j] #l.append([n]) l+=[n] pre = n return l
方法二:
def generate(self, numRows: int) -> List[List[int]]: # 先生成一个全部为1的金字塔,列表推导时用了一点点小技巧 a = [[1 for j in range(0,i+1)] for i in range(numRows) ] # 然后双重循环遍历整个金字塔,一个元素等于其两肩和 for i in range(2,len(a)): for j in range(1,i): a[i][j] = a[i-1][j-1] + a[i-1][j] return a