您的位置:首页 > 其它

每天一道算法题(16)——翻转链表

2015-06-26 15:41 99 查看

题目

反转单向链表。如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;
}


注意当为单个节点或者是为空的情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: