Posted 瀛楄妭408鑰冪爺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了相关的知识,希望对你有一定的参考价值。

鍏虫敞鎴戜滑
鑾峰彇鏇村璁$畻鏈鸿€冪爺淇℃伅


銆愭瘡鏃ヤ竴棰樸€?05.鍦ㄤ簩鍙夋爲涓鍔犱竴琛?></p> 
 <section data-width=

馃挕 浠婃棩涔犻

缁欏畾涓€涓簩鍙夋爲锛屾牴鑺傜偣涓虹1灞傦紝娣卞害涓?1銆傚湪鍏剁 d 灞傝拷鍔犱竴琛屽€间负 v 鐨勮妭鐐广€?/p>


娣诲姞瑙勫垯锛氱粰瀹氫竴涓繁搴﹀€?d 锛堟鏁存暟锛夛紝閽堝娣卞害涓?d-1 灞傜殑姣忎竴闈炵┖鑺傜偣 N锛屼负 N 鍒涘缓涓や釜鍊间负 v 鐨勫乏瀛愭爲鍜屽彸瀛愭爲銆?/p>


灏?N 鍘熷厛鐨勫乏瀛愭爲锛岃繛鎺ヤ负鏂拌妭鐐?v 鐨勫乏瀛愭爲锛涘皢 N 鍘熷厛鐨勫彸瀛愭爲锛岃繛鎺ヤ负鏂拌妭鐐?v 鐨勫彸瀛愭爲銆?/p>


濡傛灉 d 鐨勫€间负 1锛屾繁搴?d - 1 涓嶅瓨鍦紝鍒欏垱寤轰竴涓柊鐨勬牴鑺傜偣 v锛屽師鍏堢殑鏁存5鏍戝皢浣滀负 v 鐨勫乏瀛愭爲銆?/p>


绀轰緥 1:


杈撳叆: 

浜屽弶鏍戝涓嬫墍绀?

       4

     /   

    2     6

   /    / 

  3   1 5   


v = 1


d = 2


杈撳嚭: 

       4

      /

     1   1

    /     

   2       6

  /      / 

 3   1   5   





鈥︹€︹彴 鎬濊€冩椂闂粹€︹€?/span>








濡傛灉浣犳兂濂界瓟妗堜簡

璇锋煡鐪嬭В棰樻€濊矾鍜屼唬鐮佸疄鐜?/span>

鈻?/span>

瑙i鎬濊矾


鍒╃敤BFS淇濆瓨d-1灞傜殑鑺傜偣

鐒跺悗瀵规瘡涓妭鐐圭殑宸﹀彸鑺傜偣杩涜淇敼


宸﹁妭鐐癸細鎸囧悜鏂板垱寤虹殑鑺傜偣锛屽叾鍊间负v锛屽叾宸﹁妭鐐逛负褰撳墠鑺傜偣鐨勫乏鑺傜偣

鍙宠妭鐐癸細鎸囧悜鏂板垱寤虹殑鑺傜偣锛屽叾鍊间负v锛屽叾鍙宠妭鐐逛负褰撳墠鑺傜偣鐨勫彸鑺傜偣


浠g爜瀹炵幇

  
    
    
  
    
      
      
    
      
        
        
      
        
          
          
        
          
            
            
          
            
              
              
            
              
                
                
              
                
                  
                  
                
                  
                    
                    
                  

                    
                      
                      
                    
TreeNode *addOneRow(TreeNode *root, int v, int d) {
  //濡傛灉d涓?锛屽垯鍒涘缓涓€涓柊鐨勬牴鑺傜偣v锛屽師鍏堢殑鏁存5鏍戝皢浣滀负v鐨勫乏瀛愭爲
  if (d == 1) {
    return new TreeNode(v, root, nullptr);
  }
  queue<TreeNode *> q;
  q.emplace(root);
  //褰撳墠灞傛暟涓?nbsp;d-1 鏃讹紝鍋滄閬嶅巻
  while (--d != 1) {
    for (int i = 0, size = q.size(); i < size; ++i) {
      TreeNode *node = q.front();
      q.pop();
      if (node->left) {
        q.emplace(node->left);
      }
      if (node->right) {
        q.emplace(node->right);
      }
    }
  }
  //闃熷垪涓墿涓嬬殑鑺傜偣鍗充负鑺傜偣N
  while (!q.empty()) {
    TreeNode *node = q.front();
    q.pop();
    //鍏堝垱寤轰竴涓妭鐐筆锛屽叾宸﹁妭鐐逛负褰撳墠鑺傜偣鐨勫乏鑺傜偣
    //鐒跺悗灏嗗綋鍓嶈妭鐐圭殑宸﹁妭鐐硅缃负鑺傜偣P
    node->left = new TreeNode(v, node->left, nullptr);
    //鍏堝垱寤轰竴涓妭鐐筆锛屽叾鍙宠妭鐐逛负褰撳墠鑺傜偣鐨勫彸鑺傜偣
    //鐒跺悗灏嗗綋鍓嶈妭鐐圭殑鍙宠妭鐐硅缃负鑺傜偣P
    node->right = new TreeNode(v, nullptr, node->right);
  }
  return root;
}


寰俊鍏虫敞鈥?/span>瀛楄妭408鑰冪爺鈥濓紝


鍏嶈垂鑾峰彇鍚勯櫌鏍¤绠楁満杞欢鑰冪爺淇℃伅涓庝笓涓氳璧勬枡锛?/span>


以上是关于的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数

VSCode自定义代码片段8——声明函数