<剑指offer>面试题24:反转链表

题目描述

  • 定义一个函数,输入一个链表的头结点,当反转该链表时请输出反转后链表的头结点

题目解读

定义三个指针left、center、right。从链表头结点开始遍历,遍历到尾节点时输出即可。看似简单其实是需要仔细理解的。
具体参考代码

ListNode* reverseList(ListNode *head)
    {
        ListNode *left = NULL;
        ListNode *right= NULL;
        ListNode *center = NULL;
        if(head == NULL)
        {
            return NULL;
        }

        center = head;
        while(center)
        {
            right = center->next;
            center->next = left;
            left  = center;
            center= right;

        }
        return left;
    }

参考
完整代码见Github

你可能感兴趣的:(<剑指offer>面试题24:反转链表)