← All problems

119. Pascals Triangle II

EasyOpen on LeetCodeProblem statement

Problem Statement

119. Pascal's Triangle II

Easy


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:

 

Follow up: Could you optimize your algorithm to use only O(rowIndex) extra space?

Java

Source file
class Solution {
    public List<Integer> getRow(int rowIndex) {
        if (rowIndex == 0)
            return new ArrayList<>(List.of(1));
        List<Integer> prevRow = getRow(rowIndex - 1);
        List<Integer> currRow = new ArrayList<>();
        currRow.add(1);
        for (int i = 1; i < rowIndex; i++)
            currRow.add(prevRow.get(i - 1) + prevRow.get(i));
        currRow.add(1);
        return currRow;
    }
}