700.二叉搜索树中的搜索
难度简单21收藏分享切换为英文
通过次数
5,177
提交次数
7,932
题目描述
评论(48)
题解
提交记录
给定二叉搜索树(BST)的根节点和一个值。你需要在BST中找到节点值等于给定值的节点。返回以该节点为根的子树。如果节点不存在,则返回NULL。
例如,
给定二叉搜索树:4/\27/\13和值:2
你应该返回如下子树:
2/\13
在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。
publicstaticTreeNodesearchBST(TreeNoderoot,intval){if(root==null){returnnull;}returnfindNode(root,val);}privatestaticTreeNodefindNode(TreeNodenode,intval){if(node.val==val){returnnode;}elseif(val>node.val&&node.right!=null){returnfindNode(node.right,val);}elseif(val<node.val&&node.left!=null){returnfindNode(node.left,val);}returnnull;}