[编程题] 按照左右半区的方式重新组合单链表

给定一个单链表的头部节点head,链表长度为N。 如果N为偶数,那么前N/2个节点算作左半区,后N/2个节点算作右半区; 如果N为奇数,那么前N/2个节点算作左半区,后N/2+1个节点算作右半区; 左半区从左到右依次记为L1->L2->...,右半区从左到右依次记为R1->R2->...。请将单链表调整成L1->R1->L2->R2->...的样子。 例如: 1->2->3->4 调整后:1->3->2->4 1->2->3->4->5 调整后:1->3->2->4->5 要求:如果链表长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1)

转载于:https://www.cnblogs.com/zhjsll/p/4338396.html

[编程题] 按照左右半区的方式重新组合单链表相关推荐

  1. 按照左右半区的方式重新组合单链表

    [说明]: 本文是左程云老师所著的<程序员面试代码指南>第二章中"按照左右半区的方式重新组合单链表"这一题目的C++复现. 本文只包含问题描述.C++代码的实现以及简单 ...

  2. 链表问题20——按照左右半区的方式重新组合单链表

    题目 给定一个单链表的头部节点head,链表长度为N,如果N为偶数,那么前N/2个节点算作左半区,后N/2个节点算作右半区:如果N为奇数,那么前N/2个节点算作左半区,后N/2+1个节点算作右半区.左 ...

  3. 牛客网--按照左右半区的方式重新组合单链表

    题目描述 给定一个单链表的头部节点 head,链表长度为 N,如果 N 是偶数,那么前 N / 2 个节点算作左半区,后 N / 2 个节点算作右半区:如果 N 为奇数,那么前 N / 2 个节点算作 ...

  4. c语言递增20,2020-07-20(C语言)数据结构-在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素...

    //在一个递增有序的线性表中,有数值相同的元素存在.若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素,例如:(7,10,10,21,30,42,42,51,70)将变为(7,10 ...

  5. 在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法,去掉数值相同的元素,使得表中不再有重复的元素。

    在一个递增有序的线性表中,有数值相同的元素存在.若存储方式为单链表,设计算法,去掉数值相同的元素,使得表中不再有重复的元素.例如(7,10,10,21,30,42,42,42,51,70)将变为(7, ...

  6. (关于单链表的真题)已知一个带有表头结点的单链表...请设计一个尽可能高效的算法,查找链表中倒数第k个位置的结点。

    真题描述 已知一个带有表头结点的单链表,结点结构为 data next 假设该链表只给出了头指针head.在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点. 若查找成 ...

  7. java类求圆的面积周长_java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题。编写一个应用程序计算圆的周长和面积,设圆的半...

    问题标题 java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题.编写一个应用程序计算圆的周长和面积,设圆的半 2019-5-23来自ip:15.196.194.53的 ...

  8. 华为机试题python版节选(基础编程题)

    前言 自学python之后,可以借助这些企业招聘时的机考题目来锤炼一下实践能力.. 每道题含要点解析,是按照自己理解梳理的,多个答案的是结合自己的答案+网上的答案,不一定很严谨,请读者自行在编译器中调 ...

  9. 编程题刷题笔记(包括leetcode和各种公司笔试题)

    7/6: 做的查找中的word_ladder,没做出来. 学到了的知识点: unordered_set: 定义为unordered_set<string>dict 在集合中查找为dict. ...

最新文章

  1. L - Oil Deposits HDU - 1241
  2. Jack Dongarra/杰克 多加拉
  3. 省带宽、耗电小,腾讯游戏学院专家解析手游渲染架构
  4. Java黑皮书课后题第6章:**6.18(检测密码)一些网站对于密码具有一些规则。编写一个方法检测字符串是否是一个有效密码。编写一个程序,提示用户输入一个密码,如果符合规则,则显示…否则显示…
  5. Linux进阶之软件管理
  6. 给CentOS 6.7 配置IP地址
  7. python 视频转场_Python 带你高效创作短视频,视频创作秀到飞起!!!
  8. FPGA串口波特率计算
  9. 苹果、三星、华为的2019财报三国杀
  10. 为什么增益裕度可以是负数
  11. 解决一下 WebView2 不能用 socket5代理的问题。
  12. Microsoft软件保护平台服务CPU占用率过高的解决办法
  13. 2021国防科技大学计算机学院无军籍考研经验贴
  14. 陈臣java_小菜学设计模式——享元模式
  15. 代理模式Proxy——在线代理
  16. java计算机毕业设计口红专卖网站MyBatis+系统+LW文档+源码+调试部署
  17. 1016: 幼儿园小朋友们的难题
  18. 美国南加州大学研究生计算机专业申请条件,美国南加州大学计算机研究生申请条件有哪些呢...
  19. vsm java_向量空间模型(VSM)在文档相似度计算上的简单介绍
  20. 经典CNN结构之AlexNet 复兴号角

热门文章

  1. yum mysql5.7位置_CentOS yum 安装 Mysql5.7
  2. html 手机端无法拖动地图,关于腾讯地图api的禁止地图拖动问题
  3. java线程实现排序_【多线程实现快速排序】
  4. Linux第一条指令地址,arm-linux 启动代码分析——stage1 (1)
  5. boost windows编译
  6. LeetCode 101. 对称二叉树 思考分析
  7. 按频率对元素进行排序
  8. 第五章 染料结构对染色性能的影响单元测验
  9. 汇编语言-013(DAS 、DAA与DAS、QWORD类型用SBB借位减法、编写指令将AX符号扩展到EAX,不能使用CWD、用SHR和条件判断指令将AL循环右移一位、SHLD、压缩十进制转换)
  10. numpy 归一化_归一化(MinMax)和标准化(Standard)的区别