赞
踩
题目:输入两个链表的头节点,判断这两个链表是否存在相交
链表的定义如下:
- typedef int Elemtype;
- typedef struct ListNode
- {
- Elemtype data;//值域
- ListNode *m_pNext;//指针域
- }ListNode,*PListNode;
看到这个题目后大多数的人的第一反应应该就是,判断这两个链表的任意一个节点的指针是否相同,如果有那么这两个链表相交,否则不想交,然后呢用二重for循环来一一查找。显然这是一种笨方法,时间效率极其低下,那么我们来分析如何能够优化该解决方案呢?
首先我们先来分析,两个链表相交能出现哪些情况呢?
第一种:
在第n个节点开始这两条链表的后续重叠。好像两个相爱的人,在相遇了之后,便永不分离。
第二种:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。