zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 700 二叉搜索树中的搜索(遍历树)

    700. 二叉搜索树中的搜索

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

    例如,

    给定二叉搜索树:

      	4
       / 
      2   7
     / 
    1   3
    

    和值: 2
    你应该返回如下子树:

     2     
     /    
    1   3
    

    在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
         public TreeNode searchBST(TreeNode root, int val) {
     if (root == null) {
                return null;
            }
    
            if (root.val == val) {
                return root;
            }
    
            if (val > root.val) {
                return searchBST(root.right, val);
            }
    
            if (val < root.val) {
                return searchBST(root.left, val);
            }
    
            return null;
        }
    }
    
  • 相关阅读:
    Promise
    includes()
    常见的数组去重方法
    concat()
    面试感想
    常见的前端面试题
    让div水平垂直居中的几种方法
    实现斐波拉契的几种方法
    使用lib-flexible
    什么是token
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12946269.html
Copyright © 2011-2022 走看看