- 分析
アイデアは非常に単純です。ヘッド挿入方法です。インタビューで遭遇しました。注意してください。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) {
ListNode* reverseHead = new ListNode();
ListNode* temp;
while(nullptr != head){
temp = reverseHead -> next;
reverseHead -> next = head;
head = head -> next;
reverseHead -> next -> next = temp;
}
head = reverseHead -> next;
delete reverseHead;//注意内存泄漏
return head;
}
};