118. Pascal's Triangle

Alen Alex · February 14, 2026

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:

img

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

Twitter, Facebook