杨辉三角
解题思路:
双层for循环,外面一层是行数,里面一层是每行的数。
代码:
public IList<IList<int>> Generate(int numRows)
{
IList<IList<int>> result = new List<IList<int>>();
if (numRows == 0)
return result;
for(int i=0;i<numRows;i++)
{
IList<int> lgx = new List<int>();
for(int j=0;j<i+1;j++)
{
if (j == 0 || j == i)
lgx.Add(1);//每一行的首位和末尾都是1。其他位置上的数等于前一行的前一个位置和这个位置上的数之和。
else
lgx.Add(result[i - 1][j - 1] + result[i - 1][j]);
}//每一行有i+1个元素。
result.Add(lgx);
}//一共numrows行。
return result;
}