题目:
反转单向链表。如1---->2---->3为3--->2----->1
思路:
使用两个临时指针,依次反转。
代码:
struct ListNode
{
int m_nKey;
ListNode* next;
};
ListNode* DeleteNode(ListNode* pListHead)
{
if(!pListHead ||! pListHead->next )
return pListHead;
ListNode* preNode=NULL;
ListNode* nextNode=NULL;
ListNode* currentNode=pListHead;
while(!currentNode){
nextNode=currentNode->next;//保存下一节点
currentNode->next=preNode;
preNode=currentNode;
currentNode=nextNode;
}
return preNode;
}
注意当为单个节点或者是为空的情况