700. 二叉搜索树中的搜索
题意:给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
解题思路
解法1:递归
1.递归遍历二叉树,如果遇到val的节点,则save
2.反馈result节点
解题遇到的问题
无
后续需要总结学习的知识点
需要深入总结学习二叉搜索树的数据结构的特点、应用、搜索、插入、删除
##解法1
class Solution {
TreeNode result = null;
public TreeNode searchBST(TreeNode root, int val) {
preTreeNode(root, val);
return result;
}
private void preTreeNode(TreeNode root, int val) {
if (root == null) {
return;
}
if (root.val == val) {
result = root;
}
preTreeNode(root.left, val);
preTreeNode(root.right, val);
}
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;
}
}
}
网友评论