二叉搜索树中的搜索
此博客链接:https://www.cnblogs.com/ping2yingshi/p/12953746.html
二叉搜索树中的搜索(45min)
题目链接:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/
给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
例如,
给定二叉搜索树:
4
/ \
2 7
/ \
1 3
和值: 2
题解:
思路:
1.递归实现。
2.递归出口,当根节点为空或者根节点的值等于给定值时,返回根节点。
3.递归条件,当给定值大于根节点时,递归根节点的右子树,当给定值小于根节点值,递归根节点的左子树。
代码如下:
class Solution { public TreeNode searchBST(TreeNode root, int val) { if(root==null||root.val==val) { return root; } if(root.val<val) { return searchBST(root.right,val); } else return searchBST(root.left,val); } }
出来混总是要还的