普通二叉树
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root == null || root == p || root == q) return root; TreeNode left = lowestCommonAncestor(root.left,p,q); TreeNode right = lowestCommonAncestor(root.right,p,q); return left==null ? right : right==null ? left : root; } }
BST平衡二叉树
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root == null) return root; if(p.val < root.val && q.val < root.val) return lowestCommonAncestor(root.left,p,q); if(p.val > root.val && q.val > root.val) return lowestCommonAncestor(root.right,p,q); return root; } }
原文地址:https://www.cnblogs.com/Roni-i/p/10346705.html
时间: 2024-10-12 20:33:42