链表相邻元素翻转

来源:互联网 发布:simon口语 知乎 编辑:程序博客网 时间:2024/04/28 20:40

a->b->c->d->e->f->g,翻转后变为:b->a->d->c->f->e->g

struct ListNode{int m_nValue;ListNode * m_pNext;};void ExchangeAdjacentNodes(ListNode* pHead){if (pHead == NULL || pHead->m_pNext == NULL)return;ListNode* p1 = pHead;ListNode* p2 = pHead->m_pNext;pHead = p2;p1->m_pNext = p2->m_pNext;p2->m_pNext = p1;ListNode* pre = p1;while (pre->m_pNext != NULL && pre->m_pNext->m_pNext != NULL){p1 = pre->m_pNext;p2 = pre->m_pNext->m_pNext;pre->m_pNext = p2;p1->m_pNext = p2->m_pNext;p2->m_pNext = p1;pre = p1;}}


原创粉丝点击