题目:
输入两个单链表,找出它们的第一个公共结点。链表结点定义如下:
struct listNode {
int m_nKey;
listNode *m_pNext;
};
解法一:
先求得两个链表的长度m、n,让长的链表先走|m-n|步,然后一起往后走,走的过程中比较两个指针指向的结点是否是同一个结点即可。
解法二:
开两个辅助栈,先依次遍历两个链表,把结点压入栈中,然后,一起出栈,最后一个相同的结点即为所求
题目:
输入两个单链表,找出它们的第一个公共结点。链表结点定义如下:
struct listNode {
int m_nKey;
listNode *m_pNext;
};
解法一:
先求得两个链表的长度m、n,让长的链表先走|m-n|步,然后一起往后走,走的过程中比较两个指针指向的结点是否是同一个结点即可。
解法二:
开两个辅助栈,先依次遍历两个链表,把结点压入栈中,然后,一起出栈,最后一个相同的结点即为所求
本文标题:剑指offer 面试题37:两个链表的第一个公共结点
本文链接:https://www.haomeiwen.com/subject/djmsdttx.html
网友评论