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

溫馨提示×

java treenode如何實現節點搜索

小樊
81
2024-11-28 09:46:40
欄目: 編程語言

在Java中,可以使用遞歸或迭代方法來實現二叉樹的節點搜索。這里我將為您提供一個使用遞歸方法的示例:

首先,定義一個TreeNode類,用于表示二叉樹的節點:

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

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

接下來,實現一個遞歸方法searchNode,該方法接受一個TreeNode對象(根節點)和一個目標值作為參數,返回找到的目標節點或null(如果未找到):

public TreeNode searchNode(TreeNode root, int target) {
    if (root == null || root.val == target) {
        return root;
    }

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

    return searchNode(root.right, target);
}

這個方法首先檢查當前節點是否為null或者節點的值是否等于目標值。如果是,則返回當前節點。否則,它遞歸地在左子樹和右子樹中搜索目標值。

以下是一個簡單的測試用例:

public static void main(String[] args) {
    TreeNode root = new TreeNode(8);
    root.left = new TreeNode(3);
    root.right = new TreeNode(10);
    root.left.left = new TreeNode(1);
    root.left.right = new TreeNode(6);
    root.right.right = new TreeNode(14);
    root.right.right.left = new TreeNode(13);

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

這個測試用例創建了一個二叉樹,并調用searchNode方法搜索值為6的節點。輸出結果應為:

找到節點,值為: 6

0
靖宇县| 常德市| 探索| 含山县| 新宁县| 石台县| 奉节县| 玉林市| 勃利县| 临洮县| 安福县| 太原市| 天全县| 荣成市| 荆州市| 晋宁县| 宝山区| 武鸣县| 万全县| 盘山县| 孙吴县| 信丰县| 丰顺县| 屏山县| 临泽县| 贵阳市| 黔江区| 布尔津县| 巨鹿县| 西峡县| 大田县| 中牟县| 修武县| 突泉县| 灵寿县| 宜君县| 武穴市| 石城县| 正宁县| 永新县| 报价|