91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java treenode如何查找節點

小樊
81
2024-11-28 10:24:41
欄目: 編程語言

在Java中,要查找二叉樹(Binary Tree)中的節點,可以使用遞歸或迭代方法。這里我將向您展示如何使用遞歸方法查找二叉樹中的節點。

首先,定義一個簡單的TreeNode類:

public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    TreeNode(int x) {
        val = x;
    }
}

接下來,創建一個遞歸方法findNode,該方法接受一個TreeNode對象(根節點)和一個目標值作為參數,返回找到的目標節點,如果未找到則返回null。

public TreeNode findNode(TreeNode root, int target) {
    if (root == null) {
        return null;
    }

    if (root.val == target) {
        return root;
    }

    TreeNode left = findNode(root.left, target);
    if (left != null) {
        return left;
    }

    return findNode(root.right, target);
}

這個方法首先檢查根節點是否為空,如果為空則返回null。然后,它檢查根節點的值是否等于目標值,如果是,則返回根節點。最后,它遞歸地在左子樹和右子樹中查找目標節點。

以下是如何使用這個方法的示例:

public static void main(String[] args) {
    TreeNode root = new TreeNode(5);
    root.left = new TreeNode(3);
    root.right = new TreeNode(7);
    root.left.left = new TreeNode(2);
    root.left.right = new TreeNode(4);
    root.right.left = new TreeNode(6);
    root.right.right = new TreeNode(8);

    TreeNode target = 6;
    TreeNode result = findNode(root, target);
    if (result != null) {
        System.out.println("找到節點: " + result.val);
    } else {
        System.out.println("未找到節點");
    }
}

在這個示例中,我們創建了一個簡單的二叉樹,并嘗試查找值為6的節點。findNode方法將返回包含該值的節點,我們可以在控制臺上打印出該節點的值。

0
平武县| 东乡| 古蔺县| 锡林郭勒盟| 辽宁省| 土默特右旗| 疏附县| 新晃| 长阳| 大关县| 临武县| 乐陵市| 肥东县| 天柱县| 海门市| 白河县| 台东县| 鹤峰县| 嵩明县| 望奎县| 罗江县| 江口县| 台东市| 称多县| 定结县| 临洮县| 巴青县| 琼结县| 信阳市| 南京市| 通河县| 崇文区| 兰州市| 夹江县| 曲阜市| 合江县| 三门县| 阳高县| 岫岩| 崇左市| 鹤山市|