Leetcode - Pascal's Triangle II Solution

Given an integer rowIndex, return the rowIndexth (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()

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe