两个单向链表(表长不等)后半部分重合,怎么找到开始重合的那个节点?
用最简单的方法
提示是:列方程!!!
我的解法
1.遍历A链表 -> a+x=lenA a是第一个相同节点之前的节点个数 x是公共节点个数
2.遍历B链表 同时反转B链表 -> b+x=lenB
3.再遍历A链表 -> a+b+1=lenAB
解方程组 第一个公共节点在 A的a+1位置上 B的b+1位置上
本文介绍了一种通过列方程的方式找到两个长度不等的单向链表开始重合节点的方法。通过遍历并结合链表特性,可以有效确定首个公共节点的位置。
两个单向链表(表长不等)后半部分重合,怎么找到开始重合的那个节点?
用最简单的方法
提示是:列方程!!!
我的解法
1.遍历A链表 -> a+x=lenA a是第一个相同节点之前的节点个数 x是公共节点个数
2.遍历B链表 同时反转B链表 -> b+x=lenB
3.再遍历A链表 -> a+b+1=lenAB
解方程组 第一个公共节点在 A的a+1位置上 B的b+1位置上
744