# 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; } }; ```