链表相邻元素翻转

来源:互联网 发布:曲面建模 软件 编辑:程序博客网 时间:2024/05/16 00:58

链表相邻元素翻转,如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;}



原创粉丝点击