您的位置:首页 > 其它

反转链表中相邻两个元素

2013-03-21 21:30 225 查看
转自出处

链表相邻元素翻转,如a->b->c->d->e->f-g,翻转后变为:b->a->d->c->f->e->g

思路:常见的三指针方法

[cpp] view
plaincopy

typedef struct LinkNode

{

int data;

struct LinkNode* next;

}LinkNode , *LinkList;

LinkList inverseList(LinkList head)

{

if(head == NULL || head->next == NULL)

return head;

LinkList pre = NULL;

LinkList curr = head;

LinkList next = NULL;

while(curr && curr->next)

{

if(pre)

pre->next = curr->next;

else

head = curr->next;

pre = curr;

next = curr->next->next;

curr->next->next = curr;

curr->next = next;

curr = next;

}

return head;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐