当前位置: 首页 > wzjs >正文

代做企业网站十大经典口碑营销案例

代做企业网站,十大经典口碑营销案例,网站方案书免费,外贸seo网站建设目录 1.题目描述: 2.算法分析: 3.代码展示: 1.题目描述: 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总…

目录

1.题目描述:

2.算法分析:

3.代码展示:


1.题目描述:

给你链表的头节点 head ,每 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]

2.算法分析:

  1. 计算链表长度​​:

    • 首先遍历整个链表,统计节点的总数 n。这是为了知道有多少组 k 个节点需要反转。
  2. ​初始化辅助指针​​:

    • 使用一个虚拟头节点 dummy 可以简化操作,尤其是在处理头节点的反转时。
    • p 用于记录当前待反转子链表的前一个节点。
    • pre 和 cur 用于反转子链表。
  3. ​分组反转​​:

    • 只要剩余的节点数 n 大于等于 k,就进行反转:
      • 反转连续的 k 个节点:
        • 使用类似反转单链表的方法,逐个反转节点。
      • 调整连接:
        • 将反转后的子链表与前面的部分连接起来。
        • 将反转后的子链表的尾部与下一个子链表的头部连接。
        • 移动 p 到下一个待反转子链表的前一个节点。
  4. ​处理剩余节点​​:

    • 如果剩余的节点数不足 k,则不进行反转,直接保留原顺序。
  5. ​返回结果​​:

    • 由于 dummy 的 next 始终指向链表的头节点,因此返回 dummy->next

示例

假设链表为 1 -> 2 -> 3 -> 4 -> 5k = 2

  1. 计算长度 n = 5
  2. dummy -> 1 -> 2 -> 3 -> 4 -> 5
  3. 第一组反转 1 和 2
    • 反转后:2 -> 1cur 指向 3
    • 调整连接:dummy -> 21 -> 3
    • p 移动到 1
  4. 第二组反转 3 和 4
    • 反转后:4 -> 3cur 指向 5
    • 调整连接:1 -> 43 -> 5
    • p 移动到 3
  5. 剩余 n = 1,不足 k,不反转。
  6. 最终链表:2 -> 1 -> 4 -> 3 -> 5

3.代码展示:

ListNode* reverseKGroup(ListNode* head, int k) {int n = 0; // 代表节点的个数// 计算出链表节点的个数for (ListNode* cur = head; cur; cur = cur->next) {n++;}// 创建一个空节点,便于后续的操作ListNode* dummy = new ListNode(0, head);ListNode* p = dummy;ListNode* pre = nullptr;ListNode* cur = head;for (; n >= k; n-=k) {for (int i = 0; i < k; i++) {// 进行翻转操作ListNode* nex = cur->next;cur->next = pre;pre = cur;cur = nex;}if (p->next == nullptr) {return 0;}ListNode* temp = p->next;p->next->next = cur;p->next = pre;p = temp;}return dummy->next;}

25. K 个一组翻转链表 - 力扣(LeetCode)https://leetcode.cn/problems/reverse-nodes-in-k-group/

http://www.dtcms.com/wzjs/278258.html

相关文章:

  • 成都市小程序推广上海seo招聘
  • 餐饮网站建设有什么好处网站推广途径和推广要点
  • 厦门seo哪家强长沙seo优化推荐
  • 济南网站建设铭盛信息百度app安卓版下载
  • 旅游网站网页设计报告一站式发稿平台
  • 陕西手机网站建设如何在网上推广
  • 莆田市秀屿区建设局网站seo网站诊断流程
  • 博客网站开发报告网络营销工具的特点
  • 建筑工程 技术支持 东莞网站建设免费crm
  • 专门做吃播的网站百度pc版网页
  • 网站制作公司昆明平台关键词排名优化
  • 网站页面设计教程百度网站域名
  • 国家卫生健康委员会官方网站发布aso优化怎么做
  • 做网站协调广州seo关键词
  • 高端网站定制的案例深圳互联网推广公司
  • 网站开发感想温州seo网站建设
  • centum wordpress怎么优化网站性能
  • 房产信息网租房seo价格是多少
  • 为什么网站不建议做充值功能如何推广自己的网站
  • 响应式模板网站建设哪家好百度top风云榜
  • 东莞企业年检哪个网站做平台搭建
  • 服饰东莞网站建设爱站网站seo查询工具
  • 公司在选择网站时应考虑什么问题他达拉非的副作用和危害
  • 平湖城乡规划建设局网站seo服务加盟
  • 成都手机网站建设百度关键词seo
  • 龙之向导外贸网站网址网络营销技巧
  • 域名注册人信息搜索优化指的是什么
  • 陕西网站建设托管2023重大新闻事件10条
  • 手机网站建站cms网站优化排名技巧
  • 制造业公司有必要建设网站吗网址导航推广