Java for You 数据结构 【Java 实现经典算法】每K个结点反转单链表

【Java 实现经典算法】每K个结点反转单链表

题目描述

  • 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。
  • 例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;
  • 如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。

思路

  • 通过链表长度和K值确定需要反转的结点数
  • 每K个反转成新链表,把头保存到List中
  • 需要反转的结点数已到并且剩下的结点数不足K个,不反转,即把当前结点存到List中
  • 把List中各个链表连接

代码

本文由 java4u.cn 发布,可自由转载、引用,但需署名作者且注明文章出处(作者:白色蜗牛,出处:java4u.cn)。如转载至微信公众号,请在文末添加作者公众号二维码。 https://java4u.cn/algorithms/3358.html

作者: 蜗牛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

公众号:蜗牛互联网

在线咨询: QQ交谈

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部