• 700. Search in a Binary Search Tree


    Given the root node of a binary search tree (BST) and a value. You need to find the node in the BST that the node's value equals the given value. Return the subtree rooted with that node. If such node doesn't exist, you should return NULL.

    For example, 

    Given the tree:
            4
           / 
          2   7
         / 
        1   3
    
    And the value to search: 2
    

    You should return this subtree:

          2     
         /    
        1   3
    

    In the example above, if we want to search the value 5, since there is no node with value 5, we should return NULL.

    Note that an empty tree is represented by NULL, therefore you would see the expected output (serialized tree format) as [], not null.

    class Solution {
        public TreeNode searchBST(TreeNode root, int val) {
            while(root != null && root.val != val){
                root = root.val > val ? root.left : root.right;
            }
            return root;
        }
    }

    我是sb?

    class Solution {
        public TreeNode searchBST(TreeNode root, int val) {
                if(root == null || root.val == val) return root;
                return val < root.val? searchBST(root.left, val): searchBST(root.right, val);
            }
    }

    注意啊,上下是平行的关系,不是if-else的关系,否则会有nullpointerexception出现

  • 相关阅读:
    linux安装教程
    html学习
    vscode编程nodejs初始安装
    Python 字符串前面加u,r,b的含义
    vs code中自动添加注释插件koroFileHeader
    *args和**kwargs用法
    python中map函数的用法
    Python中虚拟环境venv的基本用法
    ubuntu下安装git提示无root权限
    git连接gitee笔记
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/13138444.html
Copyright © 2020-2023  润新知