LeetCode Link: 118. Pascal’s Triangle
Language: C#
Problem Statement
Given an integer numRows, return the first numRows of Pascal’s triangle.
In Pascal’s triangle, each number is the sum of the two numbers directly above it as shown:

Example 1:
Input: numRows = 5
Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Example 2:
Input: numRows = 1
Output: [[1]]
Constraints:
- 1 <= numRows <= 30
Solution
public class Solution
{
public IList<IList<int>> Generate(int numRows)
{
var end = 2;
var prev = new List<int>();
var list = new List<IList<int>>();
if (numRows == 0)
{
return list;
}
list.Add(new List<int>{1});
while (end <= numRows)
{
var t = new List<int>();
t.Add(1);
for (int i=1; i<end-1; i++)
{
t.Add(prev[i-1] + prev[i]);
}
t.Add(1);
list.Add(t);
prev = t;
end++;
}
return list;
}
}