看到的一题 真是纠结死我了。。抄下来
题目:给定一个链表的头指针,要求遍历一次,将单链表中的顺序反过来。
思路:用PLAST保留上一次的PC 用于第二次PC.next的链接(第二次PC.NEXT=上一次的PC) 用PNEXT保留PC的PC.Next 用于第二次Pcurrent的定位
Node_t * inverse( Node_t *pHead )
{
Node_t *pNext = NULL;
Node_t *pCurrent = pHead;
Node_t *pLast = NULL;
while (pCurrent->next != NULL)
{
pNext = pCurrent->next;
pCurrent->next = pLast; //把前面排好的链子往前next甩
pLast = pCurrent;
pCurrent = pNext;
}
pCurrent->next = pLast;
return pCurrent;
}