您的位置:首页 > 其它

LeetCode 206. Reverse Linked List

2016-06-24 16:55 148 查看
问题描述:

Reverse a singly linked list.

单链表反转。

AC代码:

ListNode* reverseList(ListNode* head)
{
ListNode *reverseHead = NULL;
ListNode *pre = NULL;
ListNode *cur = head;
ListNode *pNext = NULL;
while(cur != NULL)
{
pNext = cur->next;
if(pNext == NULL)
reverseHead = cur;
cur->next = pre;
pre = cur;
cur = pNext;
}
//return cur;
return reverseHead;
}

需要注意的是需要返回翻转后的链表的头节点,开始的时候我是返回的cur,后来发现每每次返回的翻转结果都是null,定义一个reverseHead,
当cur->next == NULL 的时候 cur就是当前链表的最后一个节点,也即翻转链表的头节点。当然,返回pre指针也是可以的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: