#include<iostream>
using namespace std;
struct ListNode {
ListNode(int x = 0) { value = x; }
ListNode* next;
int value;
};
ListNode* FristCommonNode(ListNode* a,ListNode* b) {
ListNode* aa = a,*bb = b;
if (aa == NULL || bb == NULL) return NULL;
while (aa != bb) {
aa = aa-> next;
bb = bb-> next;
if (aa == NULL) aa = b;
if (bb == NULL) bb = a;
}
return aa;
}
int main() {
ListNode* t = new ListNode(1);
t->next = new ListNode(2);
t->next->next = new ListNode(3);
t->next->next->next = new ListNode(6);
t->next->next->next->next = new ListNode(7);
t->next->next->next->next->next = NULL;
ListNode* p = new ListNode(4);
p->next = new ListNode(5);
p->next->next = t->next->next->next;
p->next->next->next = t->next->next->next->next;
p->next->next->next->next = NULL;
ListNode*d = FristCommonNode(t, p);
cout << d->value << endl;
return 0;
}
剑指offer52
最新推荐文章于 2023-07-27 20:37:08 发布