新颖的链表的复制:
typdef struct Node
{
struct Node *next;
struct Node *sbling;
int data;
}Node,*LNode;
LNode clone(LNode head)
{
if(NULL==head)
return NULL;
LNode head1 = new Node;
Node* p = head;
Node*q;
head1->data = p->data;
p=p->next;
head1->next = p->next;
p->next = head1;
p = p->next->next;
while(p)
{
Node *r = new Node;
r->data = p->data;
q = p;
p= p->next;
r->next = q->next;
q->next = r;
}
p = head;
head1->sbling = p->sbling->next;
head ->next = head1->next;
p = head->next;
q = head1;
while(p)
{
r = p->next;
r->sbling= p->sbling->next;
p->next = r->next;
q->next = r;
q = r;
}
return head1;
}