关于如何求二叉树2个节点的最小公共父节点,分2种情况讨论
情况1:节点有parent节点
这种情况就直接找到节点1和节点2的根节点,然后求得2个链表的长度,再求得长度差。如果说2条链子的长度差为n,那么
就长的节点先移动n步,然后和短的节点一起移动,并且判断父节点是否相等。那么这边其实也解决了另一个问题,就是求2个链表
的交点。
public static Node publicNode(Node node1,Node node2){
//接下来是求2个条链的起始点
int length1 = getLength(node1);
int length2 = getLength(node2);
Node firstNode,secondNode;