当前位置:   article > 正文

链表反转(双指针法)_指针反转 双指针方法

指针反转 双指针方法

首先,定义两个指针

ListNode* left = NULL, * right = head;
  • 1

ListNode是自己定义的链表结构体
先让左指针指向空,右指针指向第一个表
每次让right的next指向left,完成一次局部反转,然后再让它们整体向前移动一位,重复这个过程,直到righ到达链表的末尾
当然,实际过程中左指针一开始可以指向某一段开头,右指针也不一定指向空

 ListNode*left=NULL,right=head;
        while(right)
        {
            ListNode*t=right->next;//保存right的下一个节点
            right->next=left;//翻转
            left=right;//更新两个指针
            right=t;
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/956962
推荐阅读
相关标签
  

闽ICP备14008679号