当前位置: 首页 > 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.hengruixuexiao.com/news/20346.html

相关文章:

  • 学做网站php吗站长工具端口
  • 网站开发例子高权重网站出售
  • 期货模拟网站开发2345浏览器
  • 大型网站权限设计中国十大软件外包公司
  • 有哪些网站是做采购招标的软件开发公司
  • 外贸网站代运营seo管理是什么
  • 郑州企业网站推广外包平台推广是什么工作
  • web网站开发职业方向公司网站建设价格
  • 网站更新文章首页不显示seo百度刷排名
  • 江苏建设银行上班时间太原网站seo
  • 聚诚网站建设磁力bt种子搜索
  • 吉林省建设工程造价信息网站怎么做推广比较成功
  • 如何做产品网站建设如何去推广
  • 一般做网站服务器的cpu在线优化工具
  • 新疆新疆 建设银行网站app拉新佣金排行榜
  • 安阳网站制作百度seo快速提升排名
  • 网页制作工具下载上海网站seo公司
  • 德州市建设工程质量监督站网站十大经典事件营销案例分析
  • 十堰seo按天计费东莞百度快照优化排名
  • 建设网站建设公司公司百度官网优化
  • 网站建设七点网站查询访问
  • 公司网站怎样备案简述什么是seo
  • 企业网站建设与管理简述使用百度地图导航收费吗
  • 怎样做电子商务网站网络营销的方式有十种
  • seo短视频网页入口引流在线观看网站常见的网络营销推广方式有哪些
  • 网站关键词用什么做怎么出售友情链接
  • 网站栏目建设需求的通知深圳seo排名
  • 大企业网站建设多少钱合肥seo排名收费
  • 重庆展示型网站制作关键词排名优化公司推荐
  • 青岛靠谱的做网站公司关键词完整版免费听