# Pascal’s Triangle II

Given a non-negative index *k* where *k* ≤ 33, return the *k*th index row of Pascal’s triangle.

Note that the row index starts from 0.

How can we solve this problem using Recursion? What is the Intuition behind this problem ? is there any other solution?

Let’s see the recursive code first :

`class Solution:`

def getRow(self, n: int) -> List[int]:

if n == 0:

return [1]

if n == 1:

return [1,1]

prevRow = self.getRow(n-1)

currentRow = [prevRow[i] + prevRow[i+1] for i in \ range(len(prevRow) -1)]

currentRow.insert(0,1)

currentRow.append(1)

print(currentRow)

return currentRow

Alternate Solution:

`class Solution:`

def getRow(self, rowIndex: int) -> List[int]:

pascal = []

rowIndex+=1

C = 1

for i in range(1, rowIndex + 1):

pascal.append(C)

C = int(C * (rowIndex - i) / i);

return pascal

Thank You and Happy Coding!