# Leetcode Pascal's-Triangle-II 2022-09-02 14:54 > ##### Algorithms: > > #algorithm #recursion > > ##### Data structures: > > #DS #array > > ##### Difficulty: > > #coding_problem #difficulty-easy > > ##### Additional tags: > > #leetcode > > ##### Revisions: > > N/A ##### Links: - [Link to problem](https://leetcode.com/problems/pascals-triangle-ii/) --- ### Problem 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: ![](https://upload.wikimedia.org/wikipedia/commons/0/0d/PascalTriangleAnimated2.gif) #### Examples **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` ### Thoughts > [!summary] > This is a #recursion problem. Because to get the nth row, we have to get the `n - 1` th row, we use recursion. ### Solution ```cpp class Solution { public: vector getRow(int rowIndex) { // recursion if (rowIndex == 0) { return {1}; } auto last = getRow(rowIndex - 1); vector ans; ans.push_back(1); for (int i = 1; i < rowIndex; i++) { ans.push_back(last[i] + last[i - 1]); } ans.push_back(1); return ans; } }; ```