首页 > 其他分享 >力扣 700. 二叉搜索树中的搜索

力扣 700. 二叉搜索树中的搜索

时间:2022-12-01 23:33:30浏览次数:62  
标签:right TreeNode val root 力扣 搜索 树中 节点 left

700. 二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点 root 和一个整数值 val

你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。

示例 1:

输入:root = [4,2,7,1,3], val = 2
输出:[2,1,3]

示例 2:

输入:root = [4,2,7,1,3], val = 5
输出:[]

提示:

  • 数中节点数在 [1, 5000] 范围内
  • 1 <= Node.val <= 107
  • root 是二叉搜索树
  • 1 <= val <= 107

迭代

通过迭代遍历节点进行比较,如果当前节点不为空而且值不等于val,则继续迭代,否则返回当前节点(此时当前节点可能为空,或者值等于val

查看代码
 /**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    TreeNode* searchBST(TreeNode* root, int val) {
        while(root!=nullptr&&root->val!=val){
            root=root->val>val?root->left:root->right;
        }
        return root;
    }
};

标签:right,TreeNode,val,root,力扣,搜索,树中,节点,left
From: https://www.cnblogs.com/fudanxi/p/16943130.html

相关文章

  • 力扣 669. 修剪二叉搜索树
    669.修剪二叉搜索树给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树 不应该......
  • 二叉树中序遍历非递归算法实现 cpp
    二叉树中序遍历非递归算法实现#include<iostream>//二叉树中序遍历非递归算法实现usingnamespacestd;#defineMAXSIZE100/*不让用递归,那就用栈!!*///树的结点......
  • 力扣刷题笔记 167. 两数之和 II - 输入有序数组
    问题描述给你一个下标从1开始的整数数组numbers,该数组已按非递减顺序排列,请你从数组中找出满足相加之和等于目标数 target的两个数。如果设这两个数分别是numbers[ind......
  • 力扣 leetcode 844. 比较含退格的字符串
    问题描述给定s和t两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回true。#代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。提示:1......
  • 力扣 leetcode 15. 三数之和
    问题描述给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你......
  • 剑指offer:二叉搜索树与双向链表
    题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。1.递归/*structTreeNode{intval;s......
  • 剑指offer:二叉树中和为某一值的路径
    题目描述输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。/***Definiti......
  • 二叉树中序遍历(python)
    def inorder(self, list: List[int], root: TreeNode):        # 遇到空节点则返回        if not root:            return ......
  • Elasticsearch Mapping字段未支持索引导致搜索失效问题处理
    问题描述:生产上Es根据一个时间字段搜索,却没有返回数据问题分析:根据命令:GETindexName/_mapping查看#GETindexName/_mapping{ "indexName":{ "mappin......
  • Everything 搜索工具的原理与实现
    Everything是通过操作USN实现的,并且有一定的局限性(只有NTFS下才能使用)。USNJournal相当于NTFS的秘书,为他记录下改动的一切,并储存为USN_RECORD的格式。原理是通......