# 相交链表
解题思路:
使用双层循环,外层循环遍历链表 A,内层循环遍历链表 B,当找到相交节点时,直接返回。
class Solution {
public:
ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
ListNode *currentNode = headA;
while (currentNode != nullptr) {
ListNode *anotherNode = headB;
while (anotherNode != nullptr) {
if (currentNode == anotherNode) return currentNode;
anotherNode = anotherNode->next;
}
currentNode = currentNode->next;
}
return nullptr;
}
};
官方提供了使用哈希集合、双指针 2 种方式更为高效,可点击参考链接 (opens new window)查看。