Given a non-negative index k where k ≤ 33, return the kth 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!

I’m an undergrad student at IIIT Ranchi, pursuing my B-Tech in computer science and Engineering. I love to learn and share new technologies.