标签:利用 code div 就是 单链表 4行 node 逆序 swa
最近经常碰到让写链表逆序的命题,但是我总是粗心大意漏掉内容,造成结果是痛苦和迷茫:
1 void SWapNow(Node* p) 2 { 3 Node* pCur = p->pNext; 4 p->pNext = NULL; 5 Node* pTemp = NULL; 6 Node* pPre = NULL; 7 while (NULL != pCur) 8 { 9 pPre = p->pNext; 10 p->pNext = pCur; 11 pTemp = pCur->pNext; 12 pCur->pNext = pPre; 13 pCur = pTemp; 14 } 15 }
如上代码,为头插法,第4行内容没有的话,链表在第一节点陷入死循环,造成空间不足的bug;
如上代码主要是先保存头部连接的下一节点,置换为当前节点,保存当前节点的下一节点,置换为头部节点的前下一节点。之后利用保存的当前节点的下一节点进行循环置换。
挺简单的,但是当时怎么也理不清道不明,唉,考菜说的就是我这种人吧!
标签:利用 code div 就是 单链表 4行 node 逆序 swa
原文地址:https://www.cnblogs.com/WaterGood/p/9114160.html