C语言每日一题:11.《数据结构》链表分割。
题目一:

题目链接:
思路一:使用带头链表
1.构建两个新的带头链表,头节点不存储数据。
2.循环遍历原来的链表。
3.小于x的尾插到第一个链表。
4.大于等于x尾插到第二个链表。
5.进行链表合并,注意第二个链表的尾的下一个需要置空防止成环。
6.free两个头之前需要保存新的满足条件的单链表的头。

#include <cstddef>
class Partition {
public:ListNode* partition(ListNode* pHead, int x) {// write code herestruct ListNode* cur=pHead;//使用头节点先开辟一个节点struct ListNode* lefthead,*lefttile;struct ListNode* righthead,*righttile;lefthead=lefttile=(ListNode*)malloc(sizeof(ListNode));righthead=righttile=(ListNode*)malloc(sizeof(ListNode));//遍历链表分到左右两个链表里面while(cur){ListNode* next=cur->next;//比cur小于等于if(cur->val<x){lefttile->next=cur;lefttile=lefttile->next;}else {righttile->next=cur;righttile=righttile->next;}cur=next;}//进行连接,有可能成环所以比x大的链表部分结尾需要置空。lefttile->next=righthead->next;righttile->next=NULL;struct ListNode* head=lefthead->next;//tile不可以释放free(lefthead),free(righthead);return head;}
};
思路二:使用单链表
1.有一些地方需要更改。
2.两个链表都有数据,链表初始化头和尾是需要判断的。
3.两个链表都有数据那么跟上一个在链接上是差不多的。
4.当其中一个链表没有数据的时候返回另一个链表的第一个。
class Partition {
public:ListNode* partition(ListNode* pHead, int x) {// write code here//不开辟头节点struct ListNode* leftfirst=NULL,*lefttile=NULL;struct ListNode* rightfirst=NULL,*righttile=NULL;//struct ListNode* cur=pHead;//不存在头节点是需要判断的。while(cur){struct ListNode* next=cur->next;if(cur->val<x){if(leftfirst==NULL){leftfirst=lefttile=cur;}else{lefttile->next=cur;lefttile=lefttile->next;}}else{if(rightfirst==NULL){rightfirst=righttile=cur;}else{righttile->next=cur;righttile=righttile->next;}}cur=next;}if(lefttile==NULL){return rightfirst;}if(righttile==NULL){return leftfirst;}lefttile->next=rightfirst;righttile->next=NULL; return leftfirst;}
};
相关文章:
C语言每日一题:11.《数据结构》链表分割。
题目一: 题目链接: 思路一:使用带头链表 1.构建两个新的带头链表,头节点不存储数据。 2.循环遍历原来的链表。 3.小于x的尾插到第一个链表。 4.大于等于x尾插到第二个链表。 5.进行链表合并,注意第二个链表的尾的下一…...
记一次Oracle归档日志异常增长问题的排查过程
Oracle归档日志是Oracle数据库的重要功能,用于将数据库的重做日志文件(Redo Log)保存到归档日志文件(Archive Log)中。归档日志的作用是提供数据库的备份和恢复功能,以及支持数据库的持续性和数据完整性。 …...
Java设计模式——类之间的关系
1.继承关系(泛化) 类与子类的关系,指一个类继承另外的一个类。 2.实现关系 一个类可以实现多个接口,实现所有接口的功能。 3.依赖关系 类B作为类A方法中的局部变量或者参数出现,表示A依赖B。 4.关联关系 类B作为类A中的成员变量出现&#…...
Dockerfile构建Redis镜像
建立工作目录 [rootlocalhost ~]# mkdir redis [rootlocalhost ~]# cd redis/ 编写Dockerfile文件 [rootlocalhost redis]# vim Dockerfile FROM centos:7 MAINTAINER dddd <dddd163.com> RUN yum -y install epel-release && yum -y install redis RUN sed -i …...
C高级DAY2
1.思维导图 2. 递归实现,输入一个数,输出这个数的每一位 递归实现,输入一个数,输出这个数的二进制c 写一个脚本,包含以下内容: 显示/etc/group文件中第五行的内容创建目录/home/ubuntu/copy切换工作路径到…...
Linux 服务管理
在Linux上,服务管理是指对系统中运行的服务进行启动、停止、重启、监控和配置的过程。以下是一些常用的Linux服务管理工具和命令: 1. systemctl:systemctl 是一个Linux系统服务管理工具,可以管理Systemd初始化系统的服务。常见的…...
问题记录 1 页面初始化触发el-form必填校验
bug: 先编辑table某条数据,然后关闭,再去新增的时候就会触发el-form必填校验, 网上搜了一下是因为 rules里触发的方式为change时,赋值数据的格式不一致导致触发校验, 最后也没找到正确的解决方法, 只能用很low方式去解决了 方案1. 把trigger改为 blur 失焦后触发 方案2. 初始化…...
后端整理(JVM、Redis、反射)
1. JVM 文章仅为自身笔记 详情查看一篇文章掌握整个JVM,JVM超详细解析!!! 1.1 什么是JVM jvm是Java虚拟机 1.2 Java文件的编译过程 程序员编写代码形成.java文件经过javac编译成.class文件再通过JVM的类加载器进入运行时数据…...
1. CUDA中的grid和block
1. CUDA中的grid和block基本的理解 Kernel: Kernel不是CPU,而是在GPU上运行的特殊函数。你可以把Kernel想象成GPU上并行执行的任务。当你从主机(CPU)调用Kernel时,它在GPU上启动,并在许多线程上并行运行。 Grid: 当你…...
宝存科技企业级固态硬盘解决方案助力企业应用性能提升
企业级固态硬盘解决方案的核心 企业级固态硬盘市场具有产品附加值高、同时进入门槛高的特征,由于国内外巨头和初创企业竞争依然激烈。想要在竞争中脱颖而出,根本还是要靠产品本身的品质和厂商实力。 企业级固态硬盘适用于各类企业应用场景 企业级固态硬盘…...
《练习100》31~35
题目31 # press any key to change color,do you want to try it. Please hurry up!# 第一种使用颜色配置输出 # 向终端输出彩色字符,色彩的设置由目标终端文字系统和转义字符控制,与具体的编程语言无关 # 参数名称 参数值 # 文字效果 0:终端…...
额外题目第4天|132 673 841 127 684 657
132 我发现困难题往往是在中等题的基础上再多了一步 分割最少次数的回文子串 这道题就是在之前动态规划法找回文子串 (leetcode第5题) 的基础上更多 这题还是用动规来写 思路参考代码随想录 dp数组表示的意义是从0到i最少切割的次数 递推公式是 取0到i中间值 j 如果从 j1到…...
HTTP 状态码的分类和含义
HTTP(Hypertext Transfer Protocol)状态码是由服务器向客户端传输的 HTTP 响应中的一个三位数字代码。它们提供了关于请求的处理状态和结果的信息。以下是一些常见的 HTTP 状态码及其含义: 1xx 信息响应:指示服务器已收到请求&…...
Linux Bridge(网桥)
Linux Bridge简介 Linux Bridge(Linux网桥)是一个软件层面的网络设备,用于在Linux系统中创建和管理网络桥接。它允许将多个物理或虚拟网络接口连接在一起,以创建一个共享相同网络段的网络。 下面是Linux Bridge的一些关键特点和…...
【数据结构】优先队列
优先队列 API初级实现使用堆实现由下至上的堆有序化(上浮)由上至下的堆有序化(下沉)插入和删除元素具体实现 很多情况下我们需要有序的处理输入的元素,但是又不需要输入的元素全部有序,或者不需要一次将它们…...
如何在 Ubuntu 22.04 下编译 StoneDB for MySQL 8.0 | StoneDB 使用教程 #1
作者:双飞(花名:小鱼) 杭州电子科技大学在读硕士 StoneDB 内核研发实习生 ❝ 大家好,我是 StoneDB 的实习生小鱼,目前正在做 StoneDB 8.0 内核升级相关的一些事情。刚开始接触数据库开发没多久,…...
AMEYA360:尼得科科宝旋转型DIP开关系列汇总
旋转型DIP开关 S-4000 电路:BCD(十进制) 代码格式:实码 安装类型:表面贴装 调整位置:顶部 可水洗:无 端子类型:J 引线, 鸥翼型 旋转型DIP开关 SA-7000 电路:BCD(十进制), BCH(十六进制) 代码格式…...
为什么感觉 C/C++ 不火了?
首先C和C是两个非常不一样的编程语言。 C语言在系统开发领域地位非常稳固,几乎没有替代产品。应用层开发近年来略微有被Rust取代的迹象。 C由于支持的编程范式过多,导致不同水平的人写出来的代码质量差异太大,这给软件的稳健性带来了很大的…...
【Linux】在服务器上创建Crontab(定时任务),自动执行shell脚本
业务场景:该文即为上次编写shell脚本的姊妹篇,在上文基础上,将可执行的脚本通过linux的定时任务自动执行,节省人力物力,话不多说,开始操作! 一、打开我们的服务器连接工具 连上服务器后,在任意位置都可以执行:crontab -e 如果没有进入编辑cron任务模式 根据提示查看…...
内存分析工具之Mat
自定义类MatClazz内存个数为9521。当前对象占用内存为16个字节。不包括其属性bytes的字节数。 通过查看MatClazz引用的类之byte数组之bytes。其单个数组占用的字节数为10256。整个内存MatClazz中属性bytes占用的byte[]字节数为97746376,与直方图统计趋近。 通过选…...
【vue】二、vue2仿去哪儿网app——首页开发实战:从零搭建到性能优化
1. 项目初始化与页面结构设计 开始一个Vue2仿去哪儿网App首页项目,首先要搭建基础框架。我习惯用vue-cli脚手架快速初始化项目,这个工具能帮我们处理好webpack配置、基础目录结构等繁琐工作。执行vue init webpack qunar-app命令后,会生成标…...
Ostrakon-VL-8B本地化部署详解:从OpenClaw社区获取模型到一键启动
Ostrakon-VL-8B本地化部署详解:从OpenClaw社区获取模型到一键启动 最近有不少朋友在问,怎么把社区里那些热门的视觉语言大模型,比如Ostrakon-VL-8B,真正部署到自己的服务器或者云平台上,做成一个随时能用的服务。确实…...
如何快速配置TranslucentTB:Windows任务栏美化终极教程
如何快速配置TranslucentTB:Windows任务栏美化终极教程 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要让Windows任务栏变…...
STM32CubeIDE工程复制粘贴保姆级教程:告别重复配置,5分钟搞定新项目
STM32CubeIDE工程复制粘贴保姆级教程:告别重复配置,5分钟搞定新项目 每次启动新项目时,你是否还在重复那些繁琐的初始化步骤?从零开始配置时钟树、外设参数、中断优先级,不仅耗时费力,还容易出错。对于经验…...
OpenCompass本地评测大模型实战指南(2025最新版)
1. 为什么你需要OpenCompass本地评测 最近两年大模型发展太快了,各种新模型层出不穷。作为开发者,你是不是经常遇到这样的困惑:这个新发布的模型到底效果如何?和之前用的模型相比优势在哪里?官方公布的benchmark数据靠…...
别再只数步数了!深入聊聊ADXL345计步算法里的‘动态阈值’与‘最活跃轴’
别再只数步数了!深入聊聊ADXL345计步算法里的‘动态阈值’与‘最活跃轴’ 当你盯着智能手环上的步数统计时,有没有想过这串数字背后藏着怎样的算法智慧?ADXL345作为一款经典的三轴加速度传感器,其计步算法远非简单的阈值比较那么简…...
Clawdbot惊艳效果:Qwen3-32B在医疗问诊摘要与术语标准化输出实测
Clawdbot惊艳效果:Qwen3-32B在医疗问诊摘要与术语标准化输出实测 1. 测试背景与平台介绍 Clawdbot是一个统一的AI代理网关与管理平台,为开发者提供直观的界面来构建、部署和监控自主AI代理。这个平台集成了聊天界面、多模型支持和强大的扩展系统&#…...
深入解析Android系统分区:从启动到恢复的完整指南
1. Android系统分区基础认知 当你第一次拆解Android系统时,可能会被各种分区名称搞得晕头转向。其实这些分区就像我们电脑里的C盘、D盘一样,各自承担着不同的职责。我刚开始接触时也犯过糊涂,直到有次刷机把boot分区刷坏,手机直接…...
华为 eNSP 安装全攻略:Windows 11 25H2 完美适配
本教程适用范围 ✅ Windows 7(所有版本)✅ Windows 10(所有版本)✅ Windows 11 23H2 及以下✅ Windows 11 24H2(OS 内部版本 ≥ 26100.3624)✅ Windows 11 25H2❌ Windows 11 24H2(OS 内部版本…...
Pixel Language Portal快速部署:Hunyuan-MT-7B支持ONNX Runtime加速推理
Pixel Language Portal快速部署:Hunyuan-MT-7B支持ONNX Runtime加速推理 1. 项目概述 像素语言跨维传送门(Pixel Language Portal)是一款基于Tencent Hunyuan-MT-7B核心引擎构建的创新翻译工具。与传统翻译软件不同,它将语言转换过程重新设计为一场16-…...
