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

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

    resolution:

      public ListNode ReverseList(ListNode head) {
            ListNode pre = null;//上一跳
            ListNode sub = null;//下一跳
    
            while (head != null){
                sub = head.next;
                //更改指针的指向(开始反转) 这里不能写成pre = head.next 这样的话相当于将sub赋值给了pre
                head.next = pre;
                //head开始后移的时候,将head赋值给pre,将sub赋值给head
                pre = head;
                head = sub;
            }
    
            return pre;//这里返回的是pre,而不是head
    
        }

    总结:关键在于如何调整指针的走向,也就是如何进行反转。进一步也就是需要注意要保存好当前head的下一跳以及通过head.next = pre来调整指针的走向,同时还要记住将当前head赋值给pre,然后将sub赋值给head实现指针的移动。

    欢迎关注我的公众号:小秋的博客 CSDN博客:https://blog.csdn.net/xiaoqiu_cr github:https://github.com/crr121 联系邮箱:rongchen633@gmail.com 有什么问题可以给我留言噢~
  • 相关阅读:
    scp上传服务器文件
    svn一次添加所有未添加的文件
    vue 去掉#和拼接参数
    vuex状态管理
    获取页面iframe里的元素
    angular 中ng-bind-html 、$scope服务
    心态崩了
    day 8
    day 7
    day6 angularjs学习
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10326835.html
Copyright © 2011-2022 走看看