该题解采用动态规划的思路。通过观察杨辉三角的特点,可以发现每一行的数字都可以由上一行的数字计算得到。第 i 行的第 j 个数等于第 i-1 行的第 j-1 个数和第 j 个数之和。因此,可以通过迭代的方式,从第 0 行开始,逐行计算杨辉三角的每个数字,直到计算出第 rowIndex 行的数字。
时间复杂度: O(rowIndex^2)
空间复杂度: O(rowIndex)
```python
class Solution:
def getRow(self, rowIndex: int) -> List[int]:
ans = [] # 存储当前行的数字
preList = [] # 存储上一行的数字
for i in range(rowIndex + 1): # 迭代计算每一行
subList = []
for j in range(i + 1): # 计算当前行的每个数字
if j == 0 or j == i:
subList.append(1) # 首尾数字为 1
else:
subList.append(preList[j - 1] + preList[j]) # 中间数字由上一行的相邻两个数字相加得到
ans = subList
preList = subList
return ans
```