题目链接:LeetCode-700 题目大意:给定一个树的根节点 找到这个树中权值等于给定值的节点并返回 如果不存在则返回NULL
解题思路:就是调用递归 注意这个树是一个搜索(排序)树:即树的任意一个节点的左儿子权值都比右儿子的权值小 利用此特性得到答案
代码块:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode searchBST(TreeNode root, int val) { // 二叉搜索树 即二叉排序树 一个节点的左儿子始终小于右儿子 if(root == null) return null; if(root.val == val)return root; else { if(val > root.val){ return searchBST(root.right,val); } if(val < root.val){ return searchBST(root.left,val); } } return null; } }