530.二叉搜索树的最小绝对差
思路:双指针操作,记录前一个遍历的节点即可。
501.二叉搜索树中的众数
普通二叉树思想:遍历二叉树求得每个数出现的频率,用map存储,对频率排序。
二叉搜索树思想:中序遍历,记录当前节点出现频率和节点出现最高频率。(当前节点出现频率默认初始值为1)
中序遍历:左中右,中就是处理逻辑。
236. 二叉树的最近公共祖先
1.如何从下往上遍历
回溯,用到后序遍历
2.注意判断条件
class Solution {
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
if(root==null) return null;
if(root==p||root==q) return root;
TreeNode left = lowestCommonAncestor(root.left,p,q);
TreeNode right = lowestCommonAncestor(root.right,p,q);
if(left!=null&&right!=null) return root;
if(left==null&&right!=null) return right;
if(left!=null) return left;
return null;
}
}
题目要求p
和q
均存在于给定的二叉树中,所以可以使用以上的方法。