zoukankan      html  css  js  c++  java
  • 剑指offer 反转链表

    题目:输入一个链表,反转链表后,输出新链表的表头。

    代码:

     1 /*
     2 struct ListNode {
     3     int val;
     4     struct ListNode *next;
     5     ListNode(int x) :
     6             val(x), next(NULL) {
     7     }
     8 };*/
     9 class Solution {
    10 public:
    11  
    12     ListNode* ReverseList(ListNode* phead) {
    13         if ( phead == NULL )
    14             return NULL;
    15         else{
    16             ListNode *pre = NULL, *cur = phead, *temp = NULL;
    17             while( cur != NULL){
    18                 temp = cur->next;
    19                 cur->next = pre;
    20                 pre = cur;
    21                 cur = temp;
    22             }
    23             return pre;
    24         }
    25     }
    26 };

    我的笔记:temp 用来记录 当前结点的后继,pre 用来记录当前节点的前驱。实现反转,结束后将整体向后移一位,使得 pre 指向当前结点,cur 指向之前记录的后继。链表详解可见https://www.cnblogs.com/john1015/p/12933625.html

  • 相关阅读:
    反射
    IO流
    集合(下)
    集合(上)
    泛型
    异常
    常用类
    内部类
    将博客搬至CSDN
    DBMS_ERRLOG记录DML错误日志(二)
  • 原文地址:https://www.cnblogs.com/john1015/p/12930103.html
Copyright © 2011-2022 走看看