# [Pascal's Triangle II][title] ## Description Given a non-negative index *k* where *k* ≤ 33, return the *k*th index row of the Pascal's triangle. Note that the row index starts from 0. ![img](https://upload.wikimedia.org/wikipedia/commons/0/0d/PascalTriangleAnimated2.gif) In Pascal's triangle, each number is the sum of the two numbers directly above it. **Example:** ``` Input: 3 Output: [1,3,3,1] ``` **Follow up:** Could you optimize your algorithm to use only *O*(*k*) extra space? **Tags:** Array ## 思路 题意是指定输出帕斯卡尔三角形的某一行,模拟即可,优化后的代码如下所示。 ```java class Solution { public List getRow(int rowIndex) { List res = new ArrayList<>(); for (int i = 0; i <= rowIndex; ++i) { res.add(1); for (int j = i - 1; j > 0; --j) { res.set(j, res.get(j - 1) + res.get(j)); } } return res; } } ``` ## 结语 如果你同我一样热爱数据结构、算法、LeetCode,可以关注我 GitHub 上的 LeetCode 题解:[awesome-java-leetcode][ajl] [title]: https://leetcode.com/problems/pascals-triangle-ii [ajl]: https://github.com/Blankj/awesome-java-leetcode