160-相交链表

Posted nxnslc-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了160-相交链表相关的知识,希望对你有一定的参考价值。

一、暴力解法

二、哈希表思路

将A链表放入哈希表中,对B链表进行遍历,查询是否有元素存在哈希表中。

哈希表建立方法: set<ListNode*>hash;

技术图片
 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
12         set<ListNode*>hash;
13         while(headA)
14         {
15             hash.insert(headA);
16             headA=headA->next;
17         }
18         while(headB)
19         {
20             if(hash.find(headB)!=hash.end())
21             {
22                 return headB;
23             }
24             else
25             {
26                 headB=headB->next;
27             }
28         }
29         return NULL;
30 
31 
32         
33     }
34 };
View Code

 

知识点链接:https://blog.csdn.net/lady_killer9/article/details/79259378

以上是关于160-相交链表的主要内容,如果未能解决你的问题,请参考以下文章

160链表-相交链表

链表--相交链表(leetcode 160

LeetCode系列160. 相交链表

160. 相交链表

代码随想录算法训练营第四天 | 24.两两交换链表中的节点19.删除链表的倒数第N个节点160.相交链表142.环形链表II

LeetCode 160. 相交链表