二叉搜索树 | 二叉搜索树的查找操作

文章目录

  • 问题:二叉搜索树中的搜索
    • 解题思路
    • C++代码

问题:二叉搜索树中的搜索

问题链接
二叉搜索树 | 二叉搜索树的查找操作_第1张图片

解题思路

如果当前节点等于查找值,返回当前节点,大于查找值则在左子树中操作,小于查找值则在右子树中查找。

C++代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    TreeNode* searchBST(TreeNode* root, int val) {
        TreeNode *x = root;
        while(x && x->val != val){
            if(x->val > val)
                x = x->left;
            else
                x = x->right;
        }
        return x;//返回查找结果
    }
};

你可能感兴趣的:(数据结构)