LeetCode 700.二叉树中的搜索
Posted zzw-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; } };
以上是关于LeetCode 700.二叉树中的搜索的主要内容,如果未能解决你的问题,请参考以下文章
⭐算法入门⭐《二叉树 - 二叉搜索树》简单06 —— LeetCode 700. 二叉搜索树中的搜索
Leetcode刷题100天—700. 二叉搜索树中的搜索( 二叉树)—day34
Leetcode刷题100天—700. 二叉搜索树中的搜索( 二叉树)—day34