题解 | #两个链表的第一个公共结点#
两个链表的第一个公共结点
https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46
/*
看大家写的题解都是用双指针的,我写个哈希表的,FirstList上的节点全部标记,SecondeList第一个遇到的重复标记的节点就是公共节点。
算是用空间换时间,毕竟哈希表查询是常数级,倒也不慢。
*/
#include <unordered_set>
class Solution {
public:
ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {
unordered_set<ListNode*> help;
while(pHead1 != NULL){
help.insert(pHead1);
pHead1 = pHead1->next;
}
while(pHead2 != NULL){
if(help.count(pHead2) == 0)
pHead2 = pHead2->next;
else
return pHead2;
}
return NULL;
}
};
#23届找工作求助阵地#
小天才公司福利 1282人发布
