题目描述
给定一个单链表的头部节点 head,链表长度为 N,如果 N 是偶数,那么前 N / 2 个节点算作左半区,后 N / 2 个节点算作右半区;如果 N 为奇数,那么前 N / 2 个节点算作左半区,后 N / 2 + 1个节点算作右半区。左半区从左到右依次记为 L1->L2->…,右半区从左到右依次记为 R1->R2->…,请将单链表调整成 L1->R1->L2->R2->… 的形式。
输入描述:
单链表的头节点 head。
输出描述:
在给定的函数内返回链表的头指针。
示例1
输入
复制
6
1 2 3 4 5 6
输出
复制
1 4 2 5 3 6
备注:
保证链表的长度不大于1000000

list_node * relocate(list_node * head)
{//在下面完成代码if (NULL == head || NULL == head->next || NULL == head->next->next) {return head;}list_node * pFast = head;list_node * pSlow = head;list_node * pPre = NULL;while (NULL != pFast && NULL != pFast->next) {pFast = pFast->next->next;pPre = pSlow;pSlow = pSlow->next;}//断开左右链表,这一步骤很重要,切莫遗漏pPre->next = NULL;list_node * pLeft = head;list_node * pRight = pSlow;list_node * pNext = NULL;while (NULL != pLeft->next) {pNext = pLeft->next;pLeft->next = pRight;pRight = pRight->next;pLeft->next->next = pNext;pLeft = pNext;}//剩余右链表的数据挂到最后pLeft->next = pRight;return head;
}

牛客网--按照左右半区的方式重新组合单链表相关推荐

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

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

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

    [编程题] 按照左右半区的方式重新组合单链表 给定一个单链表的头部节点head,链表长度为N. 如果N为偶数,那么前N/2个节点算作左半区,后N/2个节点算作右半区: 如果N为奇数,那么前N/2个节点 ...

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

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

  4. 牛客网 小白月赛4 D-郊区春游 最短路+状压dp

    链接: https://www.nowcoder.com/acm/contest/134/D来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  5. Java牛客项目课_仿牛客网讨论区_第八章

    文章目录 第八章.项目发布与总结 8.1. 单元测试 8.2.项目监控 8.3.项目部署 宝塔面板.yum.rpm.压缩包 安装 unzip.Java1.8.Maven.MySQL.Redis.Kaf ...

  6. Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer

    剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...

  7. 【转自牛客网】C++类职位校招

    作者:./a.out 链接:https://www.nowcoder.com/discuss/14022 来源:牛客网 话说在牛客网上混迹了半年,也没啥拿的出手的贡献.现在基本上自己的校招生涯要告一段 ...

  8. 【牛客网C++服务器项目学习】-Day09-网络模型个人总结

    项目学习地址:[牛客网C++服务器项目学习] day09 项目学习进入了第四章--网络编程.这一章的学习,前半段是对计算机网络体系进行一个大致的讲解.我自己在今年4月份系统性的看了<计算机网络自 ...

  9. 今日头条后端面经总结(2018.12月)(转自牛客网)

    面经(后端): 一 操作系统中的进程和线程还有虚拟存储. 计算机网络TCP和UDP仔细看一下,也不要放过滑动窗口; 还有计算机网络体系结构各层都要熟悉. lambda表达式 spring 智力题,比如 ...

最新文章

  1. 鼠标移动区域局部放大
  2. linux中文件的编辑 写入 读取 光标的位置 以及相应的补充
  3. Python编程基础:第一节 变量Variables
  4. 第四章 高级数据结构
  5. tgp饥荒 服务器无响应,tgp饥荒联机版缺少fmod_event.dll文件怎么办?具体解决方法介绍...
  6. matlab中round函数_Excel中round函数的使用方法
  7. 高斯滤波 python
  8. 告别枯燥,ppt背景音乐怎么设置?
  9. python词云分析文本_用python实现词频分析+词云
  10. 开源一个简单的android手机音乐app
  11. 2022年湖南省自考考试学前特殊儿童教育练习题及答案
  12. HbuilderX 配置eslint规范 问题
  13. 分享一款超级好用的前端开发工具-webstorm for mac下载
  14. 【小程序开发之准备工作】如何开通云开发和CMS内容管理平台
  15. GPS接收机设计(5)——定位解算
  16. 计算机电池的性能参数,【戴尔灵越3567笔记本电脑使用总结】体积|电池|性能_摘要频道_什么值得买...
  17. Class not found: “com.kuang.dao.UserDaoTest“
  18. 谈谈在我在外包公司工作的经历,悲催的我,还失去了我心爱的猴子
  19. TWI和Advanced Hall Sensors共同项目- CFLUX
  20. python 创建app 报重复app名报错解决

热门文章

  1. 计算机毕业设计Java车辆违规信息管理系统(源码+系统+mysql数据库+lw文档)
  2. Nginx限制并发连接数和带宽
  3. “回车”、“换行”浅谈
  4. NVLink A100GPU 安装 Fabric-manager,解决GPU无法正常使用问题
  5. VR全景的商业潜力从哪里体现?市场前景怎么样?
  6. 门诊分诊管理系统分诊台程序
  7. amd显卡查看cuda版本
  8. HNUSTOJ-1690 千纸鹤
  9. 浅谈vscode+react环境部署,运行第一个react框架
  10. 一台电脑最多可以登陆32个MT4端口?为什么会这样,如何登陆更多?