美文网首页数据结构与算法
Leetcode 700 二叉搜索树中的搜索

Leetcode 700 二叉搜索树中的搜索

作者: itbird01 | 来源:发表于2021-12-21 07:25 被阅读0次

700. 二叉搜索树中的搜索

题意:给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。

解题思路

解法1:递归
1.递归遍历二叉树,如果遇到val的节点,则save
2.反馈result节点

解题遇到的问题

后续需要总结学习的知识点

需要深入总结学习二叉搜索树的数据结构的特点、应用、搜索、插入、删除

##解法1
class Solution {
    TreeNode result = null;

    public TreeNode searchBST(TreeNode root, int val) {
        preTreeNode(root, val);
        return result;
    }

    private void preTreeNode(TreeNode root, int val) {
        if (root == null) {
            return;
        }

        if (root.val == val) {
            result = root;
        }
        preTreeNode(root.left, val);
        preTreeNode(root.right, val);
    }

    public class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode() {
        }
        TreeNode(int val) {
            this.val = val;
        }
        TreeNode(int val, TreeNode left, TreeNode right) {
            this.val = val;
            this.left = left;
            this.right = right;
        }
    }
}

相关文章

网友评论

    本文标题:Leetcode 700 二叉搜索树中的搜索

    本文链接:https://www.haomeiwen.com/subject/szaafrtx.html