给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。进阶:你可以设计一个只使用常数额外空间的算法来解决此问题吗?
你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。示例 1:输入:head = [1,2,3,4,5], k = 2
输出:[2,1,4,3,5]示例 2:输入:head = [1,2,3,4,5], k = 3
输出:[3,2,1,4,5]
示例 3:输入:head = [1,2,3,4,5], k = 1
输出:[1,2,3,4,5]
示例 4:输入:head = [1], k = 1
输出:[1]
提示:列表中节点的数量在范围 sz 内
1 <= sz <= 5000
0 <= Node.val <= 1000
1 <= k <= sz链接:https://leetcode-cn.com/problems/reverse-nodes-in-k-groupclass Solution:def reverseKGroup(self, head: ListNode, k: int) -> ListNode:dummpy = ListNode()dummpy.next = headleft, right = dummpy, headcnt = 0while right:cnt += 1right = right.nextif cnt % k == 0:left = self.reverse(left, right)return dummpy.nextdef reverse(self, left, right):pre, cur = left, left.nextfirst, last = pre, curwhile cur!=right:nxt = cur.nextcur.next = prepre = curcur = nxtfirst.next = prelast.next = rightreturn last

Leetcode 25 K个一组翻转链表 (每日一题 20210719)相关推荐

  1. LeetCode 25. K 个一组翻转链表

    https://leetcode-cn.com/problems/reverse-nodes-in-k-group/ 难度:困难   给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. ...

  2. Leetcode 25.K个一组翻转链表

    难度:困难 频率:185 **题目:**给你一个链表,每K个节点一组进行翻转,清你返回翻转后的链表. K是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是K的整数倍,那么请将最后胜于的节点保 ...

  3. 28. Leetcode 25. K 个一组翻转链表 (链表-反转链表)

    给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序.进阶:你可以设计一 ...

  4. LeetCode 25 K个一组翻转链表

    https://leetcode-cn.com/problems/reverse-nodes-in-k-group/ 解决方案 class Solution {public ListNode reve ...

  5. 25. K 个一组翻转链表

    25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持 ...

  6. Leetcode-递归/反转链表模板-25. K 个一组翻转链表

    题目25. K 个一组翻转链表: 题解: 模拟 以K个为一组,进行常规反转,重点是要保留反转前的头节点,以及第K+1个节点,将其反转之后连接起来 代码: /*** Definition for sin ...

  7. 【每日算法/刷穿 LeetCode】25. K 个一组翻转链表(困难)

    题目描述 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序. 示例: ...

  8. leetcode C++ 25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。

    一.思路: 先实现两个节点翻转,再实现k个节点翻转,最后实现一组一组翻转 二.C++代码: class Solution { public:ListNode* swap(ListNode *f1, L ...

  9. leetcode 25. Reverse Nodes in k-Group | 25. K 个一组翻转链表(Java)

    题目 https://leetcode.com/problems/reverse-nodes-in-k-group/ 题解 乍一看以为很容易:每 k 个节点翻转,若剩余不足 k 个,则不变.没有什么技 ...

最新文章

  1. 添物 不花钱学计算机及编程(预备篇)— 编译原理
  2. c语言 int64 t占位符,为什么我会得到“您必须为dtype int64提供占位符张量输出值”?...
  3. win和linux创建共享文件夹,在Windows和Linux下(Debian、Ubuntu)创建共享文件夹
  4. boost::histogram::axis::circular用法的测试程序
  5. MySQL复习资料(二)——MySQL-DDL语句
  6. Web和HTTP基本术语和概念
  7. 【英语学习】【WOTD】inexorable 释义/词源/示例
  8. 启动mysql5.7异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
  9. Atitit  图像处理底色变红的解决
  10. android studio程序开机启动,Android Studio中创建和启动AVD【Android】
  11. linux网络随机ip发包工具,三款常用IP发包工具介绍
  12. TP框架 URL规则重写 Apache配置
  13. 教你轻松删除PDF文件中的空白页
  14. cpu发热测试软件,如何检测CPU的温度?这些软件少不了
  15. Hulu新剧 |《成瘾剂量》-- 揭开美国“神药”黑幕
  16. 沙箱环境下实现支付宝网站支付
  17. Android8.0 核心app或者service crash多次会进入Recovery
  18. 快手616战报首发,次抛精华引新浪潮,快品牌跃入热榜top3
  19. Mysql安装文件夹下找不到my.ini文件怎么办?如何创建my.ini文件
  20. php生成密钥 对称密码,对称密钥体制和公钥密码体制的特点各是什么

热门文章

  1. 【Ansible】的python api
  2. Linux jdk配置/下载/安装简单说明
  3. todo:DSB and ISB
  4. 集成信息医院需要什么样的集成平台
  5. DMURLConnection
  6. 由小游戏跳一跳想到的
  7. PAT甲级1090 Highest Price in Supply Chain:[C++题解]树、结点到根结点的距离、记忆化搜索、树形dp
  8. linux 变量获取问题,有关read命令从管道输出读取变量参数的问题
  9. html中的input是一个块级元素,input属于什么元素,input是行内块元素吗
  10. cad打开图纸流程图_如何一键打开超大CAD图纸,进行CAD快速看图?