版权声明:文章都是原创,转载请注明~~~~ https://blog.csdn.net/SourDumplings/article/details/88370502
Easy
62072FavoriteShare
Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 5 Output: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
C++:
/*
* @Author: SourDumplings
* @Link: https://github.com/SourDumplings/
* @Email: [email protected]
* @Description: https://leetcode.com/problems/pascals-triangle/
* @Date: 2019-03-09 19:25:36
*/
class Solution
{
public:
vector<vector<int>> generate(int numRows)
{
vector<vector<int>> res;
res.resize(numRows);
for (int i = 0; i < numRows; i++)
{
res[i].resize(i + 1);
for (int j = 0; j < i + 1; j++)
{
if (j == 0 || j == i)
{
res[i][j] = 1;
}
else
{
res[i][j] = res[i - 1][j] + res[i - 1][j - 1];
}
}
}
return res;
}
};
Java:
/*
* @Author: SourDumplings
* @Link: https://github.com/SourDumplings/
* @Email: [email protected]
* @Description: https://leetcode.com/problems/pascals-triangle/
* @Date: 2019-03-09 19:32:32
*/
class Solution
{
public List<List<Integer>> generate(int numRows)
{
List<List<Integer>> res = new ArrayList<List<Integer>>();
for (int i = 0; i < numRows; ++i)
{
res.add(i, new ArrayList<Integer>());
for (int j = 0; j < i + 1; j++)
{
if (j == 0 || j == i)
res.get(i).add(j, 1);
else
res.get(i).add(j, res.get(i - 1).get(j) + res.get(i - 1).get(j - 1));
}
}
return res;
}
}