剑指offer 面试题37:两个链表的第一个公共结点

题目:
输入两个单链表,找出它们的第一个公共结点。链表结点定义如下:

struct listNode {
    int                  m_nKey;
    listNode        *m_pNext;
};

解法一:
先求得两个链表的长度m、n,让长的链表先走|m-n|步,然后一起往后走,走的过程中比较两个指针指向的结点是否是同一个结点即可。

解法二:
开两个辅助栈,先依次遍历两个链表,把结点压入栈中,然后,一起出栈,最后一个相同的结点即为所求

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容