剑指Offer:反转链表

剑指Offer:反转链表

题目描述:
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

解题思路:

  1. 通过遍历链表,将当前链表的指针域直接改变,指向前一个结点。
  2. 并且保存当前结点地址,前一个结点地址。
class Solution {
public:
    ListNode* reverseList(ListNode* head) 
    {
        ListNode *pre=head;
        ListNode *cur=NULL;

        if (head == NULL)
        {
            return NULL;
        }
        while (pre != NULL)
        {
            ListNode *t=pre->next;
            pre->next=cur;
            cur=pre;
            pre=t;		//注意这里不是写成:pre=pre->next;  pre->next已改变了
        }
        return cur;
    }
};
posted @ 2020-03-10 22:42  Ternence_zq  阅读(66)  评论(0编辑  收藏  举报