反转链表-Java

反转链表

反转链表有很多种方式,今天学到了一种,来记录一下。希望以后多多进步。

先来讲一下思路:
在这里插入图片描述

如图,当前有一个链表,除了头节点,有三个节点,我们需要将这三个节点反转。
首先我们需要遍历这个链表,每遍历一个就把它插到下面的链表的最头部,这样遍历结束也就完成了反转。这里特别需要注意的是,每遍历一个节点,我们需要放在下面链表的最前面,代码实现的时候,放在最前面就和链表插入节点一样。
这样讲还是比较抽象,我这块也理解了半天。

还是看程序吧!
在这里插入图片描述
代码最重要的就是78到81行的四行程序,
第一步,我们需要保存当前节点的下一个节点,不然不保存,链表就会断了;
第二步和第三步要合在一起看,是不是和给链表中间插一个节点很像啊,对啊,我们就是要把当前的节点查到新链表的首部,新链表的首部左边是头节点,右边是原来链表的第一个节点,插到这两个节点中间就需要这两行代码进行操作。
第三步,就是对原来的节点的下一个节点进行操作,所以当前节点就变成了下一个节点了。

如果有什么不对的地方,请各位大佬批评指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值