两个可能相交的单链表,找出他们的交点

模型

head
a1     a2
\     /
 \   /
  \ /
   |
   |
   |
   |
  tail

注意是单链表,所以他们的形状会是Y型而非X型。

分析

首先,最简单的一种方法是遍历,只是时间复杂度特别高。
简单来说,这两条链表的相交前长度都是不同的,但相交后的长度一致,那么只要想办法让他们从后往前遍历,就很容易找到交点。
- 存数组
- 用栈
其实都是相近的办法,但是栈比较高大上。
那么,就好办了,同时出栈或者同时逆序遍历,遇到下一节点不同的就是交点。

posted on 2017-12-21 17:56  岚漾忆雨  阅读(37)  评论(0)    收藏  举报