letecode [206] - Reverse Linked List
Reverse a singly linked list.
Example:
Input: 1->2->3->4->5->NULL Output: 5->4->3->2->1->NULL
题目大意:
逆置链表。
理 解:
比较简单。注意头节点的变化。
代 码 C++:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* reverseList(ListNode* head) { if(head==NULL) return NULL; ListNode* p = head; ListNode* q = p->next; ListNode* pNext; p->next = NULL; while(q!=NULL){ pNext = q->next; q->next = p; p = q; q = pNext; } head = p; return head; } };
运行结果:
执行用时 :8 ms, 在所有C++提交中击败了99.68%的用户
内存消耗 :9.3 MB, 在所有C++提交中击败了8.64%的用户