asp网站搭建教程vue前端可视化开发工具
web/
2025/10/4 5:09:51/
文章来源:
asp网站搭建教程,vue前端可视化开发工具,自己开店怎么办会员系统,网页设计师证书怎么考?文章目录 写在前面Tag题目来源解题思路方法一#xff1a;迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法#xff0c;两到三天更新一篇文章#xff0c;欢迎催更…… 专栏内容以分析题目为主#xff0c;并附带一些对于本题涉及到的数据结构等内容进行回顾… 文章目录 写在前面Tag题目来源解题思路方法一迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法两到三天更新一篇文章欢迎催更…… 专栏内容以分析题目为主并附带一些对于本题涉及到的数据结构等内容进行回顾与总结文章结构大致如下部分内容会有增删 Tag介绍本题牵涉到的知识点、数据结构题目来源贴上题目的链接方便大家查找题目并完成练习题目解读复述题目确保自己真的理解题目意思并强调一些题目重点信息解题思路介绍一些解题思路每种解题思路包括思路讲解、实现代码以及复杂度分析知识回忆针对今天介绍的题目中的重点内容、数据结构进行回顾总结。 Tag
【链表-反转】【迭代】 题目来源
25. K 个一组翻转链表 解题思路
方法一迭代
思路
根据题目要求我们需要将链表中每 k 个节点翻转。我们先统计链表中的节点数然后每 k 个节点作为一组在这一组中进行链表翻转翻转后我们利用一个节点 p0 将已经翻转的节点和接下来将要翻转的节点沟通起来。
先看代码代码参考自 灵茶山艾府的题解。
代码
class Solution {
public:ListNode *reverseKGroup(ListNode *head, int k) {int n 0;for (ListNode *cur head; cur; cur cur-next)n; // 统计节点个数ListNode *dummy new ListNode(0, head), *p0 dummy;ListNode *pre nullptr, *cur head;for (; n k; n - k) {for (int i 0; i k; i) { // 翻转链表ListNode *nxt cur-next;cur-next pre;pre cur;cur nxt;}ListNode *nxt p0-next;p0-next-next cur;p0-next pre;p0 nxt;}return dummy-next;}
};结合 示例 1 对上述代码进行图解。 在 外循环 1 中我们根据 206. 反转链表 先将第一组的链表反转。接着更新指针 p0 指向第二组链表的头结点。
同理可以得到 外循环 2 的结果。
复杂度分析
时间复杂度 O ( n ) O(n) O(n) n n n 为链表的节点个数。
空间复杂度 O ( 1 ) O(1) O(1)。 写在最后
如果您发现文章有任何错误或者对文章有任何疑问欢迎私信博主或者在评论区指出 。
如果大家有更优的时间、空间复杂度的方法欢迎评论区交流。
最后感谢您的阅读如果有所收获的话可以给我点一个 哦。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86607.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!