《剑指offer》刷题笔记6
-
学习内容
两个链表的第一个公共结点
(1)思路
如果两个链表至少有一个为空表,返回空。
否则,两个链表都不空,逐个固定一个链表的结点,移动另一个链表,有相同的就返回当前结点。
(2)代码
/*
struct ListNode {
int val;
struct ListNode next;
ListNode(int x) :
val(x), next(NULL) {
}
};/
class Solution {
public:
ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {
ListNode* ans=NULL;
if(pHead1NULL||pHead2NULL)return ans;ListNode* pNode=pHead1; ListNode* pTemp=NULL; while(pNode!=NULL) { for(pTemp=pHead2;pTemp!=NULL;pTemp=pTemp->next) { if(pTemp==pNode)return pTemp; } pNode=pNode->next; } return ans; }
};