Lowest Common Ancestor
236 LCA - given 2 nodes and root in Binary tree
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode node1, TreeNode node2) { // 碰到node1 or node2 就返回 if(root == null || root == node1 || root == node2){ return root; } TreeNode left = lowestCommonAncestor(root.left, node1, node2); TreeNode right = lowestCommonAncestor(root.right, node1, node2); if( left != null && right != null){ return root; } if(left != null){ return left; } if(right != null){ return right; } return null; }
LCA - given 2 nodes with parent pointer in same binary tree
LCA - given 2 nodes with parent pointer, optimize for close ancestor
235 LCA with BST
1123. Lowest Common Ancestor of Deepest Leaves
Last updated