LeetCode 剑指offer 24 翻转链表

  • 分析

     思想很简单,头插法,面试曾经遇到过,注意,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;
    }
};

猜你喜欢

转载自blog.csdn.net/xiaoan08133192/article/details/108837342