基于BST的特点,遍历就行 public int lowestCommonAncestor2(TreeNode root, int p, int q) { while (root != null) { if (root.val > p && root.val > q) { // p,q 都在 root 的左子树中 root = root.left; } else if (root.val < p && root.val < q) { // p,q 都在 root 的右子树中 root = root.right; } ...