Leetcode-标签为Tree 235. Lowest Common Ancestor of a Binary Search Tree
来源:互联网 发布:开发一个软件 编辑:程序博客网 时间:2024/06/05 19:21
原题
Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.
According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes v and w as the lowest node in T that has both v and w as descendants (where we allow a node to be a descendant of itself).”
_______6______ / \ ___2__ ___8__ / \ / \ 0 _4 7 9 / \ 3 5
For example, the lowest common ancestor (LCA) of nodes 2 and 8 is 6. Another example is LCA of nodes 2 and 4 is 2, since a node can be a descendant of itself according to the LCA definition.
题目分析
求两个节点的最低的祖先。最低祖先可能为两个节点中的一个。
代码实现
public TreeNode LowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if (root == null) return null; if (p == root || q == root) //等于root,则最小祖先一定为root return root; bool pOnLeft = isOn(root.left, p); bool qOnLeft = isOn(root.left, q); if (pOnLeft != qOnLeft) return root; if (pOnLeft == true && qOnLeft == true) return LowestCommonAncestor(root.left, p, q); return LowestCommonAncestor(root.right, p, q); } //位于node上吗 private bool isOn(TreeNode node, TreeNode goal) { if (goal == null) return true; if (node == null) return false; if (node == goal) return true; if (isOn(node.left, goal) == true || isOn(node.right, goal) == true) return true; return false; }
2 0
- Leetcode-标签为Tree 235. Lowest Common Ancestor of a Binary Search Tree
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
- [leetcode] 235.Lowest Common Ancestor of a Binary Search Tree
- [LeetCode]235.Lowest Common Ancestor of a Binary Search Tree
- 【LeetCode】235. Lowest Common Ancestor of a Binary Search Tree
- 235. Lowest Common Ancestor of a Binary Search Tree LeetCode
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
- [LeetCode]235. Lowest Common Ancestor of a Binary Search Tree
- [LeetCode]235. Lowest Common Ancestor of a Binary Search Tree
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
- [leetcode] 235. Lowest Common Ancestor of a Binary Search Tree
- 【LeetCode】235. Lowest Common Ancestor of a Binary Search Tree
- leetcode:235. Lowest Common Ancestor of a Binary Search Tree
- LeetCode *** 235. Lowest Common Ancestor of a Binary Search Tree
- LeetCode-235.Lowest Common Ancestor of a Binary Search Tree
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
- leetcode-235. Lowest Common Ancestor of a Binary Search Tree
- 235.[Leetcode]Lowest Common Ancestor of a Binary Search Tree
- CF D. Kefa and Dishes (状态转移dp)
- DFS——Target Sum
- caffe 计算 conv 图解
- 重邮第八届ACM大赛-决赛题解报告
- ava.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoa
- Leetcode-标签为Tree 235. Lowest Common Ancestor of a Binary Search Tree
- 计算机实验
- map,zip,reduce,lambda函数学习笔记
- 使用ConcurrentLinkedQueue惨痛的教训
- vijos1037 双塔问题
- 信息技术后的下一波技术革命是什么?
- 【BZOJ 4818】【SDOI 2017】序列计数
- 51NOD 1432 独木舟(贪心+递归)
- 佳吉快运城市配送智能调度平台的应用_图文73