杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

PascalTriangleAnimated2.gif

在杨辉三角中,每个数是它左上方和右上方的数的和。 

示例:

输入: 5输出:[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]


public IList<IList<int>> Generate(int numRows) {

    IList<IList<int>> datas = new List<IList<int>>();
    if(numRows == 0) return datas;

    IList<int> data = new List<int>();
    data.Add(1);//第0行特殊化处理
    datas.Add(data);

    for(int i = 1;i < numRows;i++)
    {
        data = new List<int>();
        data.Add(1);
        for(int j = 1;j < i;j++)
        {
            data.Add(datas[i-1][j] + datas[i-1][j-1]);
        }
        data.Add(1);
        datas.Add(data);
    }

    return datas;
}

首页 我的博客
粤ICP备17103704号