zoukankan      html  css  js  c++  java
  • 链表的反转

    题目:定义一个函数,输入一个链表的头节点,反转该链表并返回反转后链表的头节点,链表的定义如下:

    struct ListNode{

      int value;

      ListNode* next;

    };

      链表反转的过程中要防止链表的断裂,假设每次都必须保存当前扫描节点的上一个结点,和下一个节点,不停的扫描此节点是否为nullptr,在循环中每次都定义一个临时的结点来保存,当前结点的下一个节点,然后在循环中判断此临时节点是否为空,若为空,则证明,此节点就是要找的最后要作为的头节点,否则的话,把当前结点的next指向上一个结点,然后此结点又作为新的上一个结点,把临时的节点赋给当前结点,重新的循环。跳出循环后返回最后一个结点。

     1 struct ListNode{
     2     int value;
     3     ListNode *next;
     4 };
     5 ListNode* ReverseList1(ListNode* phead)
     6 {
     7     ListNode* Node = phead;//当前检测的结点
     8     ListNode* PreNode = nullptr;//当前结点的上一个结点
     9     ListNode* ReHeadNode= nullptr;//最终要会返回的头结点
    10     while (Node != nullptr)
    11     {
    12         ListNode* TempNext = Node->next;//临时结点,用来保存下一位置
    13         if (TempNext == nullptr)//若下一位置为空,证明此结点就是要返回的头结点
    14             ReHeadNode = Node;
    15         Node->next = PreNode;//指针反转
    16         PreNode = Node;//当前结点作为新的上一结点
    17         Node = TempNext;//当前结点跳到下一位置,继续检测
    18     }
    19     return ReHeadNode;//返回头结点
    20 }
  • 相关阅读:
    60阶单群同构于A5的证明
    Riemann映射定理
    一个特殊情形的Mittag-Leffler分解
    一个重要的函数
    指数有限的子群存在一个右陪集代表元系,同时也是左陪集代表元系
    素数的平方阶群必为Abel群
    $mathscr{F}$类
    一个多项式问题
    Mittag-Leffler定理,Weierstrass因子分解定理和插值定理
    C -Concatenating Teams (字符串hash)
  • 原文地址:https://www.cnblogs.com/General-up/p/5428934.html
Copyright © 2011-2022 走看看