LeetCode|700. Search in Binary Search Tree

题目

You are given the root of a binary search tree (BST) and an integer val.

Find the node in the BST that the node’s value equals val and return the subtree rooted with that node. If such a node does not exist, return null.

Example 1:

Input: root = [4,2,7,1,3], val = 2
Output: [2,1,3]

Example 2:

Input: root = [4,2,7,1,3], val = 5
Output: []

Constraints

  • The number of nodes in the tree is in the range [1, 5000].
  • 1 <= Node.val <= 10^7
  • root is a binary search tree.
  • 1 <= val <= 10^7

思路

简单不考虑BST的特性,直接遍历全部二叉树的所有节点。
当找到目标节点后,即直接返回。

代码

/**
 * 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:
    void searchNode(TreeNode* root, int val, TreeNode*& node) {
        if (node != NULL)
            return;
        if (root->val == val)
        {
            node = root;
            return;
        }
        if (root->left != NULL) {
            searchNode(root->left, val, node);
        } 
        if (root->right != NULL) {
            searchNode(root->right, val, node);
        } 
        return;
    }

    TreeNode* searchBST(TreeNode* root, int val) {
        if (root == NULL)
        {
            return root;
        }

        TreeNode* node = NULL;
        searchNode(root, val, node);
        return node;
    }
};

相关推荐

  1. leetcode704. 二分查找

    2024-05-10 17:28:04       59 阅读
  2. Leetcode:704. 二分查找

    2024-05-10 17:28:04       77 阅读
  3. LeetCode 704 二分查找

    2024-05-10 17:28:04       38 阅读
  4. Leetcode704_二分查找

    2024-05-10 17:28:04       44 阅读
  5. leetcode 704. 二分查找

    2024-05-10 17:28:04       36 阅读
  6. leetcode705-Design HashSet

    2024-05-10 17:28:04       207 阅读
  7. Leetcode704_二分查找

    2024-05-10 17:28:04       32 阅读
  8. LeetCode700. Search in Binary Search Tree

    2024-05-10 17:28:04       37 阅读
  9. leetcode707.设计链表

    2024-05-10 17:28:04       59 阅读
  10. Leetcode707. 设计链表

    2024-05-10 17:28:04       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-10 17:28:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-10 17:28:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-10 17:28:04       87 阅读
  4. Python语言-面向对象

    2024-05-10 17:28:04       96 阅读

热门阅读

  1. 去中心化交易所系统开发搭建的关键步骤解析

    2024-05-10 17:28:04       29 阅读
  2. day 24 第七章 回溯算法part01

    2024-05-10 17:28:04       27 阅读
  3. 【Linux】安装Python3.11报错

    2024-05-10 17:28:04       36 阅读
  4. 5.Git

    5.Git

    2024-05-10 17:28:04      33 阅读
  5. Spring自动装配:解析原理与实践

    2024-05-10 17:28:04       30 阅读
  6. Python编程技巧(下篇)

    2024-05-10 17:28:04       31 阅读
  7. LInux 基础指令

    2024-05-10 17:28:04       27 阅读
  8. 【使用openpyxl对.xlsx文件增删改查】

    2024-05-10 17:28:04       32 阅读
  9. React 第二十三章 shouldComponentUpdate

    2024-05-10 17:28:04       32 阅读