LeetCode 112パスの合計ダイナミックなプレゼンテーション

目標値に、少なくとも1つの経路と組み合わせる葉へルートからツリーが目標値と等しいか否かを判断します

典型的な深さ優先アルゴリズム。

1が検出されると、グローバル変数bResultの導入は、それはもはや他の検索ではありません。

クラスのソリューション{
 パブリック無効ヘルパー(TreeNodeの* CUR、int型の合計、int型のターゲット、BOOLbResult){
         場合(bResult)
             リターン
        
        // (CUR)
         // LK( "根"、curが)
         // (和)
         // (ターゲット)
         // DSP 
        の場合(cur->左&& cur->!!右){ 
            bResult | =ターゲット-sum == cur-> valの; 
        } 
        
        であれば(cur-> 左)
            ヘルパー(CUR - >左、和+ cur->ヴァル、ターゲット、bResult)。        
                
        もし(cur-> 右)
            ヘルパー(CUR - >右、合計+ cur-> valを、ターゲット、bResult)。
        
    } 
    
    ブール hasPathSum(のTreeNode *ルート、int型の合計){        
         場合(!ルート)
             を返す 
        
        もし(!root->左&& root-> 右){
             リターン合計== root-> valの; 
        } 
        
        // AHD(ルート)
        BOOLブレット= // (BRET)
        
        の場合(root-> 左)
            ヘルパー(ルート- >左、root-> valを、合計、BRET)。
        
        もし(root-> 右)
            ヘルパー(ルート - >右、root-> valを、合計、BRET)。
        
        //はDSP 
        返すBRETを。
        
    } 
}。

ダイナミックなプレゼンテーションを実行  http://simpledsp.com/FS/Html/lc112.html

おすすめ

転載: www.cnblogs.com/leetcoder/p/11324867.html