美文网首页数据结构与算法
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