题目描述
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
思路
迭代
倒序加入新的链表
代码实现
// 迭代
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(head == NULL) return NULL;
ListNode *re_head = NULL;
ListNode *curr = head;
while(curr != NULL){
ListNode *next_node = curr->next;
curr->next = re_head;
re_head = curr;
curr = next_node;
}
return re_head;
}
};
执行结果
执行用时 : 12 ms, 在Reverse Linked List的C++提交中击败了96.71% 的用户
内存消耗 : 9.3 MB, 在Reverse Linked List的C++提交中击败了5.08% 的用户