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

b北京网站建设网络服务器图片

b北京网站建设,网络服务器图片,个人品牌网站建设,产品设计排版网站目录 一、分割链表 二、奇偶链表 一、分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1: 输…

目录

一、分割链表

二、奇偶链表



一、分割链表

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你不需要 保留 每个分区中各节点的初始相对位置。

示例 1

 输入:head = [1,4,3,2,5,2], x = 3

输出:[1,2,2,4,3,5]

示例 2

输入:head = [2,1], x = 2

输出:[1,2]

提示

  • 链表中节点的数目在范围 [0, 200]

  • -100 <= Node.val <= 100

  • -200 <= x <= 200

代码实现

struct ListNode* partition(struct ListNode* head, int x)
{struct ListNode* lessGuard = (struct ListNode*)malloc(sizeof(struct ListNode));lessGuard->next = NULL;struct ListNode* lessTail = lessGuard;
​struct ListNode* greaterGuard = (struct ListNode*)malloc(sizeof(struct ListNode));greaterGuard->next = NULL;struct ListNode* greaterTail = greaterGuard;// 将小于 x 的结点尾插到第一个链表中,// 将大于或等于 x 的结点尾插到第二个链表中struct ListNode* cur = head;while (cur != NULL){if (cur->val < x){lessTail->next = cur;lessTail = cur;}else{greaterTail->next = cur;greaterTail = cur;}cur = cur->next;}// 链接这两个链表lessTail->next = greaterGuard->next;  // (1)greaterTail->next = NULL;  // (2)// 返回head = lessGuard->next;free(lessGuard);free(greaterGuard);return head;
}

图解示例一

 


二、奇偶链表

给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。

第一个节点的索引被认为是 奇数第二个节点的索引为 偶数 ,以此类推。

请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。

你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。

示例 1

 输入: head = [1,2,3,4,5]

输出: [1,3,5,2,4]

示例 2

 输入: head = [2,1,3,5,6,4,7]

输出: [2,3,6,7,1,5,4]

提示

  • n == 链表中的节点数

  • 0 <= n <= 104

  • -106 <= Node.val <= 10^6

代码实现

struct ListNode* oddEvenList(struct ListNode* head)
{if (head == NULL){return head;}struct ListNode* odd = head;struct ListNode* even = head->next;struct ListNode* evenHead = even;while (even != NULL && even->next != NULL){odd->next = even->next; odd = odd->next;even->next = odd->next;even = even->next;}odd->next = evenHead;return head;
}

图解示例一

http://www.khdw.cn/news/32645.html

相关文章:

  • 网站域名 格式数字营销网站
  • 成都专业网站建设哪家好搜索图片识别出处百度识图
  • 个人网站类型职业培训机构有哪些
  • 用cs6怎么做网站外贸网站谷歌seo
  • 网站前后端分离怎么做日喀则网站seo
  • 软件园二期做网站的公司有哪些企业推广网站有哪些
  • 长沙水业网站是哪家公司做的seopc流量排名官网
  • 武汉模板开发建站龙岗网站建设公司
  • 大学网站的设计方案seo外推
  • 新手做网站买服务器宁德市高中阶段招生信息平台
  • 武汉网站关键词优化报价网络自动推广软件
  • 网站开发平台软件长沙百度关键词排名
  • 做网站的一般多少钱抖音seo关键词优化
  • 网站建设方案撰写企业网络宣传推广方案
  • 在线制作网站公章seo模拟点击软件
  • 哪些网站能够免费做公考题网络营销策划方案800字
  • 长兴企业网站开发怎么在百度上推广自己
  • 一个空间怎么做两个网站百度广告联系方式
  • 山东网站建设公司哪家权威杭州百度推广
  • 哈尔滨网站设计公司重庆seo代理计费
  • 广西建设职业技术学院石景山区百科seo
  • wordpress怎么查找文件上海网站seo优化
  • 快速建设网站视频教程百度关键词刷排名软件
  • vb做网站时怎么添加图片网站首页制作网站
  • 新开的网站怎么做seo优化上海百度seo网站优化
  • 快站如何做网站西安百度seo
  • 国外开源网站系统百度今日数据统计
  • 免费贴图素材网站优就业seo课程学多久
  • 2021网站建设前景怎么样网络推广与优化
  • 湛江电子商务网站建设中国十大软件外包公司