链表相邻元素翻转,如a->b->c->d->e->f-g,翻转后变为:b->a->d->c->f->e->g
思路:常见的三指针方法- 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;
- }