Pascal’s Triangle II
1 min readMar 22, 2020
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!