Я прошел первоначальный тестовый пример, но он показывает неправильный ответ для тестового примера. (Связанные списки приведены в тестовом примере: [0,9,1,2,4] и [3,2,4]. Ожидаемыйответ - это узел со значением 2, но я получаю 4.) Может ли кто-нибудь заметить ошибку в коде?
Другие способы решения проблемы приветствуются, но я хотел сделать это с помощью Hash map для моей собственной практики.
class Solution{
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
unordered_map<int, ListNode*> map;
int i=0;
while(headA!=NULL){ //inserting all nodes of LL A in hash map
map[i]=headA;
headA=headA->next;
i++;
}
while(1){
for (auto it = map.begin(); it != map.end(); it++) {
if (it->second == headB){
return it->second;
}
else{
if(headB->next!=NULL) {
headB=headB->next;
}
else{
break;
}
}
}
}
return NULL;
}
};