2074. 反转偶数长度组的节点

给你一个链表的头节点 head 。

链表中的节点 按顺序 划分成若干 非空 组,这些非空组的长度构成一个自然数序列(1, 2, 3, 4, …)。一个组的 长度 就是组中分配到的节点数目。换句话说:

  • 节点 1 分配给第一组
  • 节点 2 和 3 分配给第二组
  • 节点 4、5 和 6 分配给第三组,以此类推
    注意,最后一组的长度可能小于或者等于 1 + 倒数第二组的长度 。

反转 每个 偶数 长度组中的节点,并返回修改后链表的头节点 head 。

示例 1:

输入:head = [5,2,6,3,9,1,7,3,8,4]
输出:[5,6,2,3,9,1,4,8,3,7]
解释:

  • 第一组长度为 1 ,奇数,没有发生反转。
  • 第二组长度为 2 ,偶数,节点反转。
  • 第三组长度为 3 ,奇数,没有发生反转。
  • 最后一组长度为 4 ,偶数,节点反转。
    示例 2:

输入:head = [1,1,0,6]
输出:[1,0,1,6]
解释:

  • 第一组长度为 1 ,没有发生反转。
  • 第二组长度为 2 ,节点反转。
  • 最后一组长度为 1 ,没有发生反转。
    示例 3:

输入:head = [2,1]
输出:[2,1]
解释:

  • 第一组长度为 1 ,没有发生反转。
  • 最后一组长度为 1 ,没有发生反转。

示例 4:

输入:head = [8]
输出:[8]
解释:只有一个长度为 1 的组,没有发生反转。

提示:

  • 链表中节点数目范围是 [1,105][1, 10^5][1,105]
  • 0 <= Node.val <= 10510^5105

解题思路

按组遍历每个链表,根据每个组的编号,决定每个组内应该存在多少个链表节点,对于偶数长度的节点,先将每个组的所有链表节点分隔出来,再将每组节点完成一次链表逆置,再重新连接到原链表上。

代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {public:ListNode *reverse(ListNode *head,ListNode *end,int group){ListNode * pre=head,*cur=head->next;pre->next=end;for (int i = 0; i < group-1&&cur!= nullptr; ++i) {ListNode *next=cur->next;cur->next=pre;pre=cur;cur=next;}return pre;}ListNode *reverseEvenLengthGroups(ListNode *head) {ListNode *cur = head->next,*old=head,*pre=head;int group_no = 2;while (cur!= nullptr) {int res(0);ListNode *temp=cur;for (int i = 0; i < group_no&&temp!= nullptr ; ++i) {temp=temp->next;res++;}if (res%2==0){ListNode *temp=cur;for (int i = 0; i < group_no&&temp!= nullptr ; ++i) {temp=temp->next;}ListNode *next_pre=cur;pre->next=reverse(cur,temp,group_no);pre=next_pre;cur=temp;} elsefor (int i = 0; i < group_no&&cur!= nullptr; ++i) {pre=cur;cur=cur->next;}group_no++;}return old;}
};

2074. 反转偶数长度组的节点相关推荐

  1. LeetCode 2074. 反转偶数长度组的节点(链表)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个链表的头节点 head . 链表中的节点 按顺序 划分成若干 非空 组,这些非空组的长度构成一个自然数序列(1, 2, 3, 4, -).一个组的 ...

  2. FISCO-BCOS学习——单群组4节点联盟链、控制台 搭建

    注意: 本系列文章遇到的问题都可以参考查找 官方文档 或 本系列问题总结! FISCO-BCOS 及 WeBase 问题记录 FISCO-BCOS 官方文档 WeBase 官方文档 本文是在官方提供的 ...

  3. 知道焊缝长度如何确定节点板尺寸_管桁架加工之钢结构焊接节点处理

    管桁架加工之钢结构焊接节点处理: (1)塞焊和槽焊焊缝的尺寸.间距.填焊高度要求如下. ①塞焊和槽焊的有效面积应为贴台面上圆孔或长槽孔的标称面积. ②为防止母材过热,塞焊焊缝的最小中心间隔应为孔径的4 ...

  4. 知道焊缝长度如何确定节点板尺寸_悦和分享:最全的关于焊缝无损检测的知识点...

    焊缝质量标准 一.保证项目 1.焊接材料应符合设计要求和有关标准的规定,应检查质量证明书及烘焙记录. 2.焊工必须经考试合格,检查焊工相应施焊条件的合格证及考核日期. 3.Ⅰ.Ⅱ级焊缝必须经探伤检验, ...

  5. 知道焊缝长度如何确定节点板尺寸_钢桁架节点图 中各尺寸确定原则 总结

    本帖最后由 webyl 于 2011-11-24 18:58 编辑9 ^9 q% @% ]$ o! e, S ) W+ L" V( D9 J8 j 节点图中各尺寸确定原则 1.节点板尺寸 节 ...

  6. 知道焊缝长度如何确定节点板尺寸_节点板厚根据什么确定

    对通风工程风管构造设计和施工有关问题的探讨 通风工程的风管大多采用水平吊装,自 重使风管承受垂直方向近似均布的荷载作 用,但由于风管侧面非对称地安装有各种配 件(如三通.弯管.风口.阀门.检查口等), ...

  7. 知道焊缝长度如何确定节点板尺寸_钢结构焊缝中焊脚尺寸怎么确定?有没有标准规定或计算公式?...

    展开全部 钢结构焊缝中焊脚尺寸: 1.焊接焊脚高度有两种标注,K和a,K表示在角焊缝横32313133353236313431303231363533e4b893e5b19e3133343135396 ...

  8. js中数组filter过滤奇偶数_js--数组的filter()过滤方法的使用

    前言 你还在通过for循环遍历数组吗?你还在遍历之后一项一项的通过if判断过滤你需要的数据吗?你还在写着一大堆代码实现一个简单的过滤数据功能吗?那么,今天他来了.他就是这里要介绍的es6中数组filt ...

  9. 20211118:力扣第267周周赛(上)

    力扣第267周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 买票需要的时间 反转偶数长度组的节点 思路与算法 买票需要的时间 处理思路:直接进行模拟即可,找到位置k上的人需要买的票的数量,排 ...

最新文章

  1. 一名英文不好的程序员的救赎
  2. webconfig的connectionStrings字段
  3. 快速学python爬虫_Python爬虫丨应当如何快速高效学习
  4. 数据 格式化 format
  5. homebrew长时间停在Updating Homebrew 这个步骤
  6. 优雅的找出ArrayList中重复的元素
  7. RPG JS跨平台测试
  8. full join 和full outer join_带你了解数据库中JOIN的用法
  9. c语言中变量的转换,C语言中,指针变量之间的类型转换
  10. windows下,可替换telnet的工具tcping.exe
  11. 数据可视化——tableau 数据报表样例(报表模板)二
  12. nef是什么格式?nef格式用什么软件打开?nef格式怎么转换成jpg
  13. 手把手教您:iOS 6.1~6.12 完美越狱教程
  14. 论文复现——CE-FPN: Enhancing Channel Information for Object Detection
  15. Python爬虫下载QQ音乐网站歌曲
  16. 一款吊到不行接私活儿软件!
  17. 【题解】UVa1665:Islands
  18. 西安工业大学计算机学院团委,西安工业大学计算机学院人工智能与仿真研究所...
  19. node 对接微信支付的踩坑记录(服务端)
  20. 美容美发美甲行业门店痛点和解决方案

热门文章

  1. Qt+OpenCV打开视频文件并在窗口界面上显示
  2. Linux 打印简单日志(一)
  3. Java开发环境!为什么MySQL不推荐使用uuid作为主键
  4. 华为魔术手机拆机图解_华为P9进水不显示维修案例
  5. python接口自动化(四)--接口测试工具介绍(详解)
  6. python:lambda、filter、map、reduce
  7. Mysql(三) Mysq慢查询日志
  8. AGC 022 B - GCD Sequence
  9. 关于web前端的学习路线
  10. 对ContentProvider中getType方法的一点理解