链表相邻元素翻转,如a->b->c->d->e->f-g,翻转后变为:b->a->d->c->f->e->g
struct Node { char value; Node *next; }; Node* reverse(Node *head) { if (NULL == head || head->next == NULL) { return head; } Node *q = head; Node *p = head->next; Node *newHead = p; q->next = p->next; p->next = q; Node *prev = q; q = prev->next; while (q != NULL) { p = q->next; if (p == NULL) { break; } q->next = p->next; prev->next = p; p->next = q; prev = q; q= prev->next; } return newHead; }