您的位置:首页 > 其它

[LeetCode] 206. Reverse Linked List

2017-07-05 21:25 316 查看
Reverse a singly linked list.

Hint:

A linked list can be reversed either iteratively or recursively. Could you implement both?

// 非递归版
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *prev = nullptr, *cur;

while (head) {
cur = head;
head = head->next;
cur->next = prev;
prev = cur;
}

return prev;
}
};






class Solution {
public:
ListNode* reverseList(ListNode* head) {
if (head == nullptr || head->next == nullptr)
return head;

ListNode *revhead = reverseList(head->next);
head->next->next = head;
head->next = nullptr;

return revhead;
}
};




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: