Niuke Net BrushingQuestions-バイナリツリーのルートノードからリーフノードへのパスと指定された値

問題の説明

二分木と値の合計が与えられた場合、ルートノードからリーフノードまでのノード値の合計が合計に等しいパスを見つけます。

入力の説明:
二分木、合計、および

出力の説明:
条件を満たすすべてのパスを出力します

例1

入力
すると、次の二分木、sum = 22、
ここに画像の説明を挿入

出力
[
[5,4,11,2]、
[5,8,9]
]

ソリューション

分析

  1. 深さ優先探索トラバーサル法が採用され、トラバースされたパスがバックトラッキング法によって記録され、各パスが条件を満たすかどうかが判断されます。

深さ優先トラバーサル:フォローノードからトラバースし、特定のパスをリーフノードにトラバースするまで延長してから戻り、他のパスをトラバースし続けます。
バックトラッキング方法:(簡単な説明:すべてのステップを試し、前のステップに戻る場合条件が満たされない)
は一種の最適化です。ヒューリスティック法とも呼ばれる検索方法は、目標を達成するために最適な条件に従って前方に検索します。しかし、あるステップに到達すると、元の選択がうまくいかなかったり、目標が達成されなかったりするので、1つのステップに戻ってもう一度選択します。このテクニックは、うまくいかない場合に戻ってもう一度やり直します。遡及的方法。

方法

  1. 深さ優先探索トラバーサル法が採用され、トラバースされたパスがバックトラッキング法によって記録され、各パスが条件を満たすかどうかが判断されます。

再帰的分析
再帰的パラメーター:
結果:すべての結果を格納します;パス:現在アクセスされているパスを格納します;ルート:バイナリツリー;合計:パスと
終了条件:
1。合計を満たさないリーフノードに
到達します2.リーフノードに到達しますパスsum is sum
再帰的コンテンツ:
1。パスにノードを追加します
2.再帰的な左ノードと右ノード
3.バックトラッキングポイント:前のステップの結果を削除します

コード

// 思路1
public class Solution {
    
      
    
    private void dfs (ArrayList<ArrayList<Integer>> result, ArrayList<Integer> path, TreeNode root, int sum) {
    
    
        if (root == null) {
    
    
            return;
        }

		// 到达叶子节点,路径和为sum
        if (root.left == null && root.right == null) {
    
    
            // 到达叶子节点,没有满足sum
            if (sum - root.val == 0) {
    
    
                path.add(root.val);
                result.add(new ArrayList<>(path));
                path.remove(path.size() - 1);
            }
            // 到达叶子节点,没有满足sum
            return;
        }
        // 路径中添加节点
        path.add(root.val);
        // 递归左节点和右节点
        dfs(result, path, root.left, sum - root.val);
        dfs(result, path, root.right, sum - root.val);
        // 回溯点
        path.remove(path.size() - 1);
    }
}

時間計算量分析:
深さ優先探索トラバーサルはすべてのノードをトラバースするため、時間計算量はO(n)です。

スペースの複雑さの分析:
追加のスペースパスがバックトラッキングストレージパスの構造として適用されるため、パスの最長パスはn(つまり、ツリーはリンクリスト構造)であり、スペースの複雑さはO(n)です。

テストしたい場合は、Niuke.comのリンクに直接アクセスしてテストを行うことができます

二分木のルートノードからリーフノードへのパスと指定された値

おすすめ

転載: blog.csdn.net/qq_35398517/article/details/113517580