zoukankan      html  css  js  c++  java
  • 剑指offer-16.翻转链表

    0 题目

    输入一个链表,反转链表后,输出链表的所有元素。

    1 分析

    不停的倒腾。

    1->2->3->4->5;

    先保存2的next为tmp,然后2的next指向1,1的next指向保存的tmp。完成一轮交换。

    也就是说,每次都把,1的next,放到链表头。

    ListNode *ReverseList(ListNode *pHead)
    {
        if (pHead == nullptr)
        {
            return nullptr;
        }
        ListNode *head = pHead;
        ListNode *next_head = pHead->next;
        while (next_head != nullptr)
        {
            ListNode *tmp = next_head->next;
            next_head->next = head;
            head = next_head;
            next_head = tmp;
        }
       // 不要忘记这一步,原来的头指针,变成了尾指针,因此next为nullptr
        pHead->next = nullptr;
        return head;
    }
    

      

      

  • 相关阅读:
    开发细节
    html
    java学习
    Promise对象
    强制转换和隐式转换
    借助防抖解决输入框的非空校验
    setTimeout
    Symbol类型
    js API
    vue 使用mixin
  • 原文地址:https://www.cnblogs.com/perfy576/p/8607052.html
Copyright © 2011-2022 走看看