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

    题目描述链接:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/

    基本思路:等于返回,当前节点值大于搜索值从左子树搜索,小于从右子树搜索。以此可以用递归或迭代法实现,下面分别展示两种方法;

    (1)采用递归的方法 LeetCode代码:

    /**
     * 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){
              
                return NULL;
            }
            if(root->val==val){
                
                return root;
            }
            if(root->val>val){
                return searchBST(root->left,val);
            }
            if(root->val<val){
               、
                return searchBST(root->right,val);
            }
            return NULL;
        }
    };

    (2)采用迭代的方法 LeetCode代码:

    /**
     * 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) {
              while(root){
                  if(root->val==val){
                      return root;
                  }
                  else if(root->val>val){
                          root=root->left;
                      }
                  else{
                      root=root->right;
                  }
                  
              }
              return NULL;
        }
    };
  • 相关阅读:
    tomcat安装
    hadoop相关
    kafka Windows安装
    linux安装mysql
    linux安装redis
    linux安装jdk
    netcore kafka操作
    windows文件上传到linux服务器上
    SqlServer索引的原理与应用(转载)
    mssql表分区
  • 原文地址:https://www.cnblogs.com/zzw-/p/13307673.html
Copyright © 2011-2022 走看看