求一棵树中两个节点的最近祖先(Java代码)
假设给了o1和o2两个节点(节点属于同一棵树中),求两个节点的最近公共祖先。存在两种情况:1)、o1是o2的祖先或者o2是o1的祖先2)、两者都不是对方的祖先。方法一:用HashMap和HashSet:先将o1的祖先串联起来,然后在遍历o2 的祖先,找到第一个与o1的祖先相同的节点就两者共同的最近祖先。public static Node lowestAncestor(Node head, Node o1, Node o2){ HashMap<Node, Node> fathe
原创
2021-11-24 17:02:24 ·
678 阅读 ·
0 评论