700. 二叉搜索树中的搜索
给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
解题思路
利用二叉树的遍历框架:如果当前节点是则找到
否则若小于当前节点,去左子树找,否则去右子树找
运行结果
java代码
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public TreeNode searchBST(TreeNode root, int val) { if(root == null) return null; if(val == root.val) return root; if(val > root.val){ return searchBST(root.right,val); } if(val < root.val){ return searchBST(root.left,val); } return null; } }