700. 二叉搜索树中的搜索https://leetcode-cn.com/problems/search-in-a-binary-search-tree/
给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
1、递归
//递归
public TreeNode searchBST1(TreeNode root,int val){
if(root==null||root.val==val){
return root;
}else if(val
2、迭代
//迭代
public TreeNode searchBST(TreeNode root,int val){
//迭代 就是root节点的更新
while (root!=null){
if(root.val==val){
return root;
}
root=val>root.val?root.right:root.left;
}
return null;
}
104. 二叉树的最大深度https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
1、递归 DFS 深搜
//递归 深度优先搜索 DFS
public int maxDepth(TreeNode root){
if (root==null){
return 0;
}else {
int leftDepth=maxDepth(root.left);
int rightDepth=maxDepth(root.right);
return Math.max(leftDepth,rightDepth)+1;
}
}
2、广搜



