# Leetcode - Pascal's Triangle II Solution

Given an integer `rowIndex`

, return the `rowIndex`

(^{th}**0-indexed**) row of the **Pascal's triangle**.

In **Pascal's triangle**, each number is the sum of the two numbers directly above it as shown:

**Example 1:**

```
Input: rowIndex = 3
Output: [1,3,3,1]
```

**Example 2:**

```
Input: rowIndex = 0
Output: [1]
```

**Example 3:**

```
Input: rowIndex = 1
Output: [1,1]
```

**Constraints:**

`0 <= rowIndex <= 33`

**Follow up:** Could you optimize your algorithm to use only `O(rowIndex)`

extra space?

## Solution in python

```
class Solution:
def getRow(self, rowIndex: int) -> List[int]:
triangle = [[1]]
for _ in range(1,rowIndex+1):
prev_row = triangle[-1]
row = [1]
for i in range(1,len(prev_row)):
row.append(prev_row[i]+prev_row[i-1])
row.append(1)
triangle = [row]
return triangle.pop()
```