leetcode日记(73)分隔链表

news2024/9/22 23:35:05

简单,但是链表问题容易犯错

第一次错误:每次遍历到小于x的节点移动到前面后都需要将a向后移动到移动后的该节点处,使得后面移动的节点都能移动到该节点后

第二次错误:看错了题目,需要从头开始遍历

第三次错误:没有注意到空节点问题,这是链表常见错误,需要加一个if再节点等于节点->next

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* partition(ListNode* head, int x) {
        ListNode *h=new ListNode(0,head);
        ListNode *a=h;
        while(a->next&&a->next->val<x){
            a=a->next;
        }
        ListNode *b=a;
        while(b->val!=x){
            if(b->next) b=b->next;
            else break;
        }
        ListNode *c=a;
        while(c->next){
            if(c->next->val<x){
                ListNode *aa=a->next;
                ListNode *cc=c->next->next;
                a->next=c->next;
                a->next->next=aa;
                c->next=cc;
                a=a->next;
            }
            else c=c->next;
        }
        return h->next;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2084943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

死抠细节!在ChatGPT的帮助下让论文精益求精!

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 在撰写毕业论文的过程中&#xff0c;细节往往决定成败。无论是结构的合理性、论点的清晰度&#xff0c;还是语言的精准表达&#xff0c;每一个细节都影响着论文的最终质量。今天分享的内…

解决世界500强跨域跨境数据文件传输丢包严重、高延迟等问题

在当今全球化的商业环境中&#xff0c;大型跨国公司如世界500强企业&#xff0c;面临着跨地域数据传输的挑战。这些挑战包括数据包丢失、网络延迟、成本上升以及数据安全风险。传统的数据传输方法已难以满足这些企业对效率和安全性的需求。那么&#xff0c;如何为这些企业找到一…

虚拟机安装+xftp+xshell

1、VMware安装 下载VM&#xff0c;可以直接去官网下载&#xff0c;也可以直接提取我的网盘链接 通过百度网盘分享的文件&#xff1a;vmware 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;ms01 --来自百度网盘超级会员V2的分享 没有百度网盘会员的这里也有123…

vue3+vite项目中引入path模块报错

报错描述&#xff1a;Module "path" vite-browser-exter...h?t1700468860286:3 has been externalized for browser compatibility. Cannot access "path.resolve" in client code. 问题原因&#xff1a;vite 源码中设定了不允许在客户端代码中访问内置模…

STL中queue、stack的实现与容器适配器的讲解

目录 简介 栈&#xff08;Stack&#xff09; 队列&#xff08;Queue&#xff09; 实现 栈的实现 队列的实现 deque的讲解 deque的结构示意图 简介 栈&#xff08;Stack&#xff09;和队列&#xff08;Queue&#xff09;是两种基本的数据结构&#xff0c;在STL&#xff0…

【面积图表美化示例+讲解】

文章目录 效果预览&#xff1a;半透面积图&#xff1a;百分比堆积图&#xff1a; 效果预览&#xff1a; 半透面积图&#xff1a; 思路&#xff1a; 实际上是由两种类型的图表叠在一起&#xff0c;【面积图折线图】 处理&#xff1a; [1] 为了让面积图的边缘更加清晰&#xff…

ts发送邮箱,以网易邮箱来演示

①引入依赖&#xff1a; npm i nestjs-modules/mailer nodemailer 这里是引入相应的需要的依赖。 创建模块&#xff0c;以及服务 nest generate module sendEmail nest generate service sendEmail ②在app.module中注册&#xff0c;之后在其它的模块就可以使用 import { M…

员工飞单、走私单、离职带走客户,屡禁不止怎么办?1招防止!

企业面临着诸多挑战&#xff0c;其中员工行为不端&#xff0c;如飞单、走私单以及离职时带走客户等问题&#xff0c;不仅损害了企业的经济利益&#xff0c;更侵蚀了企业的市场竞争力与客户信任度。 这些问题如同一颗颗毒瘤&#xff0c;若不及时清除&#xff0c;将严重阻碍企业…

简而不减,极致便捷!泰极预付费解决方案震撼上市

开户麻烦!绑表复杂!用电情况模糊!电费收缴难! 在日常生活中,能源缴费可能经常会遇到运维难管理、缴费收益难计算、支付安全难保障等问题。如何解决呢?正泰物联推出“泰极预付费解决方案”,“简”操作,“不减”功能,有效解决上述问题,助力实现便捷生活。 享轻松:泰极简而不减…

three.js 编辑器,动画,着色器, cesium 热力图,聚合点位,大量点线面, 图层,主题,文字

对于大多数的开发者来言&#xff0c;看了很多文档可能遇见不到什么有用的&#xff0c;就算有用从文档上看&#xff0c;把代码复制到自己的本地大多数也是不能用的&#xff0c;非常浪费时间和学习成本&#xff0c; 尤其是three.js &#xff0c; cesium.js 这种难度较高&#xff…

【计算机组成原理】五、中央处理器:3.指令流水线(互斥、同步)

5.指令流水线 文章目录 5.指令流水线5.1基本概念5.2性能指标5.3指令流水线影响因素5.3.1结构相关&#xff08;**资源冲突**&#xff09;&#xff1a;**互斥**5.3.2数据相关&#xff08;**数据冲突**&#xff09;&#xff1a;**同步**5.3.3控制相关&#xff08;**控制冲突**) 5.…

电脑网络设置

有时候开机会发现电脑明明练了Wifi却无法上网&#xff0c;是因为之前梯子没关直接关机&#xff0c;解决方案是 打开设置网络和Internet代理手动设置代理关闭“使用代理服务器”

黑马JavaWeb开发笔记10(前端完结)——Vue路由介绍入门、前端工程打包、nginx前端部署

文章目录 前言一、Vue路由1. 介绍2. 路由入门 二、打包部署1. 前端工程打包2. 部署前端工程2.1 nginx介绍2.2 部署 总结 前言 本篇文章是2023年最新黑马JavaWeb开发笔记10&#xff1a;Vue路由介绍&入门、前端工程打包、nginx前端部署的总结&#xff0c;帮助需要学习Web开发…

6款文件恢复软件推荐,电脑小白也能够一人做到电脑数据恢复!

在一台小小的电脑里&#xff0c;有着我们学习资料的整理、工作文件的痕迹和生活点滴的回忆&#xff0c;正因为这些数据对我们来说是十分珍重的东西&#xff0c;所以会难以承受它们丢失不见的结果。 一旦造成数据丢失&#xff0c;我们该怎么做才能把这些重要的数据文件找回呢&a…

科研绘图之折线图

在科研数据分析中&#xff0c;折线图是一种常见且有效的可视化工具&#xff0c;用于展示数据随时间或其他连续变量的变化趋势。Python&#xff0c;作为一种强大的编程语言&#xff0c;提供了多种绘制折线图的工具和库&#xff0c;其中最常用的包括 Matplotlib 和 Seaborn。 Ma…

vscode解决运行程序无法从控制台输入问题

在vscode中运行一些简单的程序代码&#xff0c;需要从控制台接受输入参数&#xff0c;发现不能通过键盘输入。 本章教程&#xff0c;提供该问题的解决方法。 解决办法 由于我是使用的Code Runner这个插件&#xff0c;Code Runner插件支持运行多种编程语言&#xff0c;很方便。打…

如何构建基于Java SpringBoot和Vue的受灾救援物资管理系统?——四步实现物资高效调配,提升救援响应速度

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

国外服务器独立ip的好处

国外服务器提供独立IP服务&#xff0c;这为网站运营者、企业用户以及个体户提供了诸多便利。独立IP即一个独一无二的IP地址&#xff0c;专为一个网站或一项服务&#xff0c;相较于共享IP&#xff0c;独立IP拥有许多不可替代的优势。下面将介绍国外服务器提供独立IP服务的好处&a…

C#生成exe并用process运行

文章目录 前言一、生成exe1.发布自包含版本2.一些问题1. 使用 .NET Framework修改项目文件 二、使用Process调用exe子进程阻塞了父进程&#xff1a;资源锁定&#xff1a;无限循环&#xff1a;命令行挂起&#xff1a;1.解决方法示例代码 说明1.启动 EXE 文件&#xff1a;2.启动 …

开源项目管理工具Taiga

什么是 Taiga &#xff1f; Taiga 是一个免费开源&#xff0c;而且功能非常强大的项目管理平台&#xff0c;用于初创企业和敏捷开发团队。Taiga 专注于简洁性&#xff0c;并且界面很干净简单。Taiga 也非常个性化&#xff0c;并集合了很多其它功能和外部工具&#xff0c;还有大…