zoukankan      html  css  js  c++  java
  • LeetCode 700——二叉搜索树中的搜索

    1. 题目

    2. 解答

    如果根节点为空,直接返回 NULL。如果根节点非空,从根节点开始循环查找,直到节点为空。

    • 如果待查找的值大于当前节点值,节点指向右孩子;
    • 如果待查找的值小于当前节点值,节点指向左孩子;
    • 如果待查找的值等于当前节点值,返回当前节点。

    若循环结束还没有找到,返回 NULL。

    /**
     * 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) {
            
            
            if (root == NULL) return NULL;
            
            TreeNode* temp = root;
            
            while(temp)
            {
                if (val < temp->val) temp = temp->left;
                else if (val > temp->val) temp = temp->right;
                else return temp;
            }
            
            return NULL;
            
        }
    };
    

    获取更多精彩,请关注「seniusen」!

  • 相关阅读:
    JSP第六周作业
    JSP第四次(2.0)
    JSP第四周
    软件测试课堂练习1
    5。建库,表,增删改查
    4.安卓练习
    2android九宫格
    第七周作业
    jsp第六周作业
    jsp第四周作业
  • 原文地址:https://www.cnblogs.com/seniusen/p/9985260.html
Copyright © 2011-2022 走看看