#include<iostream>
using namespace std;
struct ListNode{
int value;
ListNode* next;
ListNode* sp;
};
ListNode* Copy(ListNode* t) {
ListNode *k=NULL;
ListNode* p = t;
while (p != NULL) {
k = new ListNode();
k->value = p->value;
k->next = p->next;
p->next = k;
p = p->next->next;
}
p = t;
while (p!=NULL) {
k = p->next;
k->sp = p->sp->next;
p = k->next;
}
p = t;
ListNode* T=NULL;
if (p) {
k = p->next;
T = k;
}
while (p!=NULL){
p->next = k->next;
p = p->next;
if (p){
k->next = p->next;
k = k->next;
}
}
return T;
}
int main() {
ListNode *t=new ListNode();
t->next = new ListNode();
t->next->next = new ListNode();
t->next->next->next = new ListNode();
t->sp = t->next->next;
t->next->sp = t->next;
t->next->next->sp = t->next->next->next;
t->next->next->next->sp = t;
t->value = 1;
t->next->value = 2;
t->next->next->value = 3;
t->next->next->next->value = 4;
ListNode* T = Copy(t);
cout << T->value << T->next->value << T->next->next->value << T->next->next->next->value << endl;
cout<<T->sp->value<< T->next->sp->value << T->next->next->sp->value << T->next->next->next->sp->value << endl;
return 0;
}
剑指offer35
最新推荐文章于 2022-04-30 20:20:41 发布