数据结构与算法练习49

杨辉三角

数据结构与算法练习49_第1张图片

解题思路:

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

数据结构与算法练习49_第2张图片

你可能感兴趣的:(算法,数据结构,leetcode)