Leetcode 25 K个一组翻转链表 (每日一题 20210719)
给你一个链表,每 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)相关推荐
- LeetCode 25. K 个一组翻转链表
https://leetcode-cn.com/problems/reverse-nodes-in-k-group/ 难度:困难 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. ...
- Leetcode 25.K个一组翻转链表
难度:困难 频率:185 **题目:**给你一个链表,每K个节点一组进行翻转,清你返回翻转后的链表. K是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是K的整数倍,那么请将最后胜于的节点保 ...
- 28. Leetcode 25. K 个一组翻转链表 (链表-反转链表)
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序.进阶:你可以设计一 ...
- LeetCode 25 K个一组翻转链表
https://leetcode-cn.com/problems/reverse-nodes-in-k-group/ 解决方案 class Solution {public ListNode reve ...
- 25. K 个一组翻转链表
25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持 ...
- Leetcode-递归/反转链表模板-25. K 个一组翻转链表
题目25. K 个一组翻转链表: 题解: 模拟 以K个为一组,进行常规反转,重点是要保留反转前的头节点,以及第K+1个节点,将其反转之后连接起来 代码: /*** Definition for sin ...
- 【每日算法/刷穿 LeetCode】25. K 个一组翻转链表(困难)
题目描述 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序. 示例: ...
- leetcode C++ 25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
一.思路: 先实现两个节点翻转,再实现k个节点翻转,最后实现一组一组翻转 二.C++代码: class Solution { public:ListNode* swap(ListNode *f1, L ...
- leetcode 25. Reverse Nodes in k-Group | 25. K 个一组翻转链表(Java)
题目 https://leetcode.com/problems/reverse-nodes-in-k-group/ 题解 乍一看以为很容易:每 k 个节点翻转,若剩余不足 k 个,则不变.没有什么技 ...
最新文章
- 添物 不花钱学计算机及编程(预备篇)— 编译原理
- c语言 int64 t占位符,为什么我会得到“您必须为dtype int64提供占位符张量输出值”?...
- win和linux创建共享文件夹,在Windows和Linux下(Debian、Ubuntu)创建共享文件夹
- boost::histogram::axis::circular用法的测试程序
- MySQL复习资料(二)——MySQL-DDL语句
- Web和HTTP基本术语和概念
- 【英语学习】【WOTD】inexorable 释义/词源/示例
- 启动mysql5.7异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
- Atitit 图像处理底色变红的解决
- android studio程序开机启动,Android Studio中创建和启动AVD【Android】
- linux网络随机ip发包工具,三款常用IP发包工具介绍
- TP框架 URL规则重写 Apache配置
- 教你轻松删除PDF文件中的空白页
- cpu发热测试软件,如何检测CPU的温度?这些软件少不了
- Hulu新剧 |《成瘾剂量》-- 揭开美国“神药”黑幕
- 沙箱环境下实现支付宝网站支付
- Android8.0 核心app或者service crash多次会进入Recovery
- 快手616战报首发,次抛精华引新浪潮,快品牌跃入热榜top3
- Mysql安装文件夹下找不到my.ini文件怎么办?如何创建my.ini文件
- php生成密钥 对称密码,对称密钥体制和公钥密码体制的特点各是什么
热门文章
- 【Ansible】的python api
- Linux jdk配置/下载/安装简单说明
- todo:DSB and ISB
- 集成信息医院需要什么样的集成平台
- DMURLConnection
- 由小游戏跳一跳想到的
- PAT甲级1090 Highest Price in Supply Chain:[C++题解]树、结点到根结点的距离、记忆化搜索、树形dp
- linux 变量获取问题,有关read命令从管道输出读取变量参数的问题
- html中的input是一个块级元素,input属于什么元素,input是行内块元素吗
- cad打开图纸流程图_如何一键打开超大CAD图纸,进行CAD快速看图?