链表问题12——将单链表的每K个节点之间逆序(方法二)
题目
题目同上一篇方法一中的题目。
思路
方法二:在原链表中调整
用变量记录每一组开始的第一个节点,最后一个节点,然后逆序即可。
源码
public class Node{public int value;public Node next;public Node(int data){this.value=data;}
}public Node reverseKNodes2(Node head,int K){if(K<2){return head;}Node cur=head;Node pre=null;Node next=null;Node start=null;//逆序的起点int count=1;while(cur!=null){next=cur.next;if(count==K){start=pre==null?head:pre.next;head=pre==null?cur:head;resign2(pre,start,cur,next);pre=start;count=0;}count++;cur=next;}return head;
}//逆序操作
public void resign2(Node left,Node start, Node end,Node right){Node pre=start;Node cur=start.next;Node next=null;while(cur!=right){next=cur.next;cur.next=pre;pre=cur;cur=next;}if(left!=null){left.next=end;}start.next=right;
}
链表问题12——将单链表的每K个节点之间逆序(方法二)相关推荐
- 链表问题12——将单链表的每K个节点之间逆序
题目 给定一个单链表的头节点head,实现函数,使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点. 1->2->3->4->5->6->7-& ...
- 将单链表的每K个节点之间逆序
题目: 给定一个单链表的头节点head,实现一个调整单链表的函数,使得每K个节点之间逆序,如果最后不够K个节点,则不调整最后的节点. 基本思路: 方法一.时间复杂度O(N),空间复杂度O(K). ...
- 左神算法:将单链表的每K个节点之间逆序(Java版)
本题来自左神<程序员代码面试指南>"将单链表的每K个节点之间逆序"题目. 题目 给定一个单链表的头节点head,实现一个调整单链表的函数,使得每K 个节点之间逆序,如果 ...
- 删除链表的中间节点 Java实现_【链表问题】删除单链表的中间节点
前言 以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获.每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢. [题目描述] 给定链表的头节点head ...
- 判断一个链表是否为循环单链表
判断一个链表是否为循环单链表: #设置两个指针(fast, slow),slow步长为1,fast步长为2, 大概的思路如下: 如果链表为循环单链表,则fast与slow必定相遇. 如果链表不为循环单 ...
- java 链表逆转_java 实现单链表逆转详解及实例代码
java 实现单链表逆转详解 实例代码: class Node { Node next; String name; public Node(String name) { this.name = nam ...
- c语言实现可变单链表,c语言实现单链表
c语言实现单链表 c语言实现单链表 定义 创建 销毁 清空 打印 获取长度 查询 删除第pos个结点 在第pos插入结点 定义 首先来看一看单链表的定义(看看百度的) 单链表是一种链式存取的数据结构, ...
- 将两个单链表合并为一个单链表
将两个单链表合并为一个单链表(C语言实现) 目的:掌握单链表的应用和算法设计 内容:L1 =(x1, x2, -, xn ),L2 =(y1, y2, -, ym ),他们是两个线性表,采用带头结点的 ...
- 链表的特点,单链表的定义、存储结构,单链表的基本操作(判断链表是否为空、销毁链表、清空链表、求链表表长、查找、插入、删除,建立单链表)
目录 一.链表(链式存储结构)的特点 二.单链表的定义和表示 1.带头结点的单链表 2.单链表的存储结构 三.单链表基本操作的实现 1.单链表的初始化(带头结点的单链表) 2.补充单链表的几个常用简单 ...
最新文章
- NeHe OpenGL第十课:3D世界
- 【谷歌推网页爬虫新标准,开源robots.txt解析器】
- 在Windows平台下使用安装GCC
- 内存条能4+8混插吗?_笔记本内存条双通道提升有多大?实测FORESEE,你知道好处在哪吗...
- js百度地图android定位不准,百度地图js定位不准
- 产品经理如何锻炼自己看透事物本质的能力
- 安装Whl文件时提示 ....whl is not a valid wheel filename
- Oracle教程之管理索引(一)--Oracle管理索引
- Java权限管理系统源代码下载
- 网络规划设计师教程知识点精讲之计算机网络汇总
- VS2010高级编程
- LOVE2D android竖屏的问题
- 陶哲轩实分析 3.2 节 习题试解
- Window Server 2008 概述
- 计算机使用鼠标的课件,鼠标操作ppt
- 微信小程序----对接OneNet平台(测试版)
- ArcGIS基础实验操作100例--实验84查找面到直线的最近点位置
- Day13零基础入门python第019讲课后测试题及答案:我的地盘听我的
- 中国全国地区MYSQL 地区SQL数据表(省,市,区,县)
- SEO 网络推广108式助你流量猛增