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 有什么问题可以给我留言噢~
  • 相关阅读:
    第14周总结
    第十三周总结
    第十二周总结
    第十一周总结
    第十次助教小结
    第九次小结-关注的助教
    第八次点评
    助教总结
    助教小结13
    助教小结12
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10326835.html
Copyright © 2011-2022 走看看