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

mobi网站怎么注册龙岗网站设计

mobi网站怎么注册,龙岗网站设计,如皋市建设局网站在哪,供电公司企业文化建设02.04、[中等] 分割链表 1、题目描述 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 2、解题思路 本题要求将链表分隔…

02.04、[中等] 分割链表

1、题目描述

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

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

2、解题思路

本题要求将链表分隔,使得所有小于 x 的节点排在大于或等于 x 的节点之前。链表中的节点顺序不需要保持。我们的目标是创建两个链表,一个存储小于 x 的节点,另一个存储大于等于 x 的节点,最后将两个链表拼接起来。

  1. 创建两个链表:
    • 一个用于存放小于 x 的节点 (less)。
    • 一个用于存放大于等于 x 的节点 (greater)。
  2. 遍历原链表:
    • 对于每个节点,判断其值与 x 的大小:
      • 如果节点值小于 x,将其添加到 less 链表。
      • 如果节点值大于等于 x,将其添加到 greater 链表。
  3. 拼接两个链表:
    • 遍历完原链表后,将 less 链表的最后一个节点指向 greater 链表的头节点。
    • greater 链表的最后一个节点需要指向 null,表示链表的结束。
  4. 返回结果:
    • 返回 less 链表的头节点(即跳过辅助节点)。

3、代码实现与详细注释

class Solution {
public:ListNode* partition(ListNode* head, int x) {// 创建两个虚拟节点作为新链表的头,一个用于小于x的节点,另一个用于大于等于x的节点ListNode* less = new ListNode(0);   // 用于存放小于x的节点ListNode* greater = new ListNode(0); // 用于存放大于等于x的节点// 初始化当前遍历的指针,以及两个链表的末尾指针ListNode *cur = head, *cur1 = less, *cur2 = greater;// 遍历整个链表while (cur) {if (cur->val < x) {// 当前节点值小于x,将该节点加入到less链表cur1->next = cur;cur1 = cur1->next;  // 移动less链表末尾指针} else {// 当前节点值大于等于x,将该节点加入到greater链表cur2->next = cur;cur2 = cur2->next;  // 移动greater链表末尾指针}// 移动到链表的下一个节点cur = cur->next;}// 将less链表与greater链表连接起来cur1->next = greater->next;// 将greater链表的最后一个节点指向null,避免成环cur2->next = nullptr;// 返回less链表的头节点,跳过第一个虚拟节点return less->next;}
};

4、关键点总结

  1. 虚拟节点:
    • 使用 ListNode() 创建虚拟头节点,避免处理头节点的特殊情况,简化代码逻辑。
  2. 链表拼接:
    • 遍历原链表的过程中,将节点分别加入到 lessgreater 链表。遍历完后,将 less 链表与 greater 链表拼接在一起。
  3. 尾节点处理:
    • 注意在拼接链表后,greater 链表的最后一个节点需要指向 nullptr,防止链表成环。

5、时间复杂度与空间复杂度

  • 时间复杂度: O(n),其中 n 是链表的长度。我们只遍历了链表一次。
  • 空间复杂度: O(1),因为我们只是创建了两个辅助链表指针,额外空间与输入大小无关。
http://www.shuangfujiaoyu.com/news/39126.html

相关文章:

  • 手机游戏网站seo推广seo教程
  • 做网站营销怎么去推广关键词排名零芯互联关键词
  • 怎样做英文网站seo网站推广助理
  • 手机企业网站建设怎么做好市场宣传和推广
  • 炎陵做网站免费网络推广软件
  • 济南专门做公司网站的公司百度引流推广怎么做
  • 网站视频做栏目一般一期多钱培训机构排名一览表
  • 航空网站建设长沙百度网站快速排名
  • 网站首页置顶是怎么做谷歌手机版下载安装
  • 贵州门户网站建设如何在百度上发布自己的文章
  • 金山区做网站吗青岛网站
  • dedecms模板站源码如何在百度上做广告
  • 免费论坛网站大全关键的近义词
  • 单位做网站备案用身份证有啥用外贸业务推广
  • 平原做网站北京百度推广代理
  • 变化型网页网站有哪些搜索引擎最新排名
  • 网站单页网络营销推广技巧
  • 代购网站怎么做的网站怎么找
  • web期末网站设计论文友情链接交换条件
  • wordpress这个博客seo关键词快速排名
  • 如何做优惠券运营网站淘宝店铺买卖交易平台
  • 怎么给网站添加站点统计郑州网站排名优化外包
  • 纯文本网站免费无代码开发平台
  • 建个个人网站一年多少钱营销型网站制作企业
  • 做电脑网站用什么软件好用吗网站推广软件免费版大全
  • 麻城网站建设鞍山seo优化
  • 图片瀑布流网站产品推广文案怎么写
  • wordpress 怎么上传视频东莞网站优化公司哪家好
  • 网站建设 天津seo技术自学
  • 义乌国贸学校网站建设网站制作厂家有哪些