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

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.《数据结构》链表分割。

题目一&#xff1a; 题目链接&#xff1a; 思路一&#xff1a;使用带头链表 1.构建两个新的带头链表&#xff0c;头节点不存储数据。 2.循环遍历原来的链表。 3.小于x的尾插到第一个链表。 4.大于等于x尾插到第二个链表。 5.进行链表合并&#xff0c;注意第二个链表的尾的下一…...

记一次Oracle归档日志异常增长问题的排查过程

Oracle归档日志是Oracle数据库的重要功能&#xff0c;用于将数据库的重做日志文件&#xff08;Redo Log&#xff09;保存到归档日志文件&#xff08;Archive Log&#xff09;中。归档日志的作用是提供数据库的备份和恢复功能&#xff0c;以及支持数据库的持续性和数据完整性。 …...

Java设计模式——类之间的关系

1.继承关系(泛化) 类与子类的关系&#xff0c;指一个类继承另外的一个类。 2.实现关系 一个类可以实现多个接口&#xff0c;实现所有接口的功能。 3.依赖关系 类B作为类A方法中的局部变量或者参数出现&#xff0c;表示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. 递归实现&#xff0c;输入一个数&#xff0c;输出这个数的每一位 递归实现&#xff0c;输入一个数&#xff0c;输出这个数的二进制c 写一个脚本&#xff0c;包含以下内容&#xff1a; 显示/etc/group文件中第五行的内容创建目录/home/ubuntu/copy切换工作路径到…...

Linux 服务管理

在Linux上&#xff0c;服务管理是指对系统中运行的服务进行启动、停止、重启、监控和配置的过程。以下是一些常用的Linux服务管理工具和命令&#xff1a; 1. systemctl&#xff1a;systemctl 是一个Linux系统服务管理工具&#xff0c;可以管理Systemd初始化系统的服务。常见的…...

问题记录 1 页面初始化触发el-form必填校验

bug: 先编辑table某条数据,然后关闭,再去新增的时候就会触发el-form必填校验, 网上搜了一下是因为 rules里触发的方式为change时,赋值数据的格式不一致导致触发校验, 最后也没找到正确的解决方法, 只能用很low方式去解决了 方案1. 把trigger改为 blur 失焦后触发 方案2. 初始化…...

后端整理(JVM、Redis、反射)

1. JVM 文章仅为自身笔记 详情查看一篇文章掌握整个JVM&#xff0c;JVM超详细解析&#xff01;&#xff01;&#xff01; 1.1 什么是JVM jvm是Java虚拟机 1.2 Java文件的编译过程 程序员编写代码形成.java文件经过javac编译成.class文件再通过JVM的类加载器进入运行时数据…...

1. CUDA中的grid和block

1. CUDA中的grid和block基本的理解 Kernel: Kernel不是CPU&#xff0c;而是在GPU上运行的特殊函数。你可以把Kernel想象成GPU上并行执行的任务。当你从主机&#xff08;CPU&#xff09;调用Kernel时&#xff0c;它在GPU上启动&#xff0c;并在许多线程上并行运行。 Grid: 当你…...

宝存科技企业级固态硬盘解决方案助力企业应用性能提升

企业级固态硬盘解决方案的核心 企业级固态硬盘市场具有产品附加值高、同时进入门槛高的特征&#xff0c;由于国内外巨头和初创企业竞争依然激烈。想要在竞争中脱颖而出&#xff0c;根本还是要靠产品本身的品质和厂商实力。 企业级固态硬盘适用于各类企业应用场景 企业级固态硬盘…...

《练习100》31~35

题目31 # press any key to change color,do you want to try it. Please hurry up!# 第一种使用颜色配置输出 # 向终端输出彩色字符&#xff0c;色彩的设置由目标终端文字系统和转义字符控制&#xff0c;与具体的编程语言无关 # 参数名称 参数值 # 文字效果 0&#xff1a;终端…...

额外题目第4天|132 673 841 127 684 657

132 我发现困难题往往是在中等题的基础上再多了一步 分割最少次数的回文子串 这道题就是在之前动态规划法找回文子串 (leetcode第5题) 的基础上更多 这题还是用动规来写 思路参考代码随想录 dp数组表示的意义是从0到i最少切割的次数 递推公式是 取0到i中间值 j 如果从 j1到…...

HTTP 状态码的分类和含义

HTTP&#xff08;Hypertext Transfer Protocol&#xff09;状态码是由服务器向客户端传输的 HTTP 响应中的一个三位数字代码。它们提供了关于请求的处理状态和结果的信息。以下是一些常见的 HTTP 状态码及其含义&#xff1a; 1xx 信息响应&#xff1a;指示服务器已收到请求&…...

Linux Bridge(网桥)

Linux Bridge简介 Linux Bridge&#xff08;Linux网桥&#xff09;是一个软件层面的网络设备&#xff0c;用于在Linux系统中创建和管理网络桥接。它允许将多个物理或虚拟网络接口连接在一起&#xff0c;以创建一个共享相同网络段的网络。 下面是Linux Bridge的一些关键特点和…...

【数据结构】优先队列

优先队列 API初级实现使用堆实现由下至上的堆有序化&#xff08;上浮&#xff09;由上至下的堆有序化&#xff08;下沉&#xff09;插入和删除元素具体实现 很多情况下我们需要有序的处理输入的元素&#xff0c;但是又不需要输入的元素全部有序&#xff0c;或者不需要一次将它们…...

如何在 Ubuntu 22.04 下编译 StoneDB for MySQL 8.0 | StoneDB 使用教程 #1

作者&#xff1a;双飞&#xff08;花名&#xff1a;小鱼&#xff09; 杭州电子科技大学在读硕士 StoneDB 内核研发实习生 ❝ 大家好&#xff0c;我是 StoneDB 的实习生小鱼&#xff0c;目前正在做 StoneDB 8.0 内核升级相关的一些事情。刚开始接触数据库开发没多久&#xff0c…...

AMEYA360:尼得科科宝旋转型DIP开关系列汇总

旋转型DIP开关 S-4000 电路&#xff1a;BCD(十进制) 代码格式&#xff1a;实码 安装类型&#xff1a;表面贴装 调整位置&#xff1a;顶部 可水洗&#xff1a;无 端子类型&#xff1a;J 引线, 鸥翼型 旋转型DIP开关 SA-7000 电路&#xff1a;BCD(十进制), BCH(十六进制) 代码格式…...

为什么感觉 C/C++ 不火了?

首先C和C是两个非常不一样的编程语言。 C语言在系统开发领域地位非常稳固&#xff0c;几乎没有替代产品。应用层开发近年来略微有被Rust取代的迹象。 C由于支持的编程范式过多&#xff0c;导致不同水平的人写出来的代码质量差异太大&#xff0c;这给软件的稳健性带来了很大的…...

【Linux】在服务器上创建Crontab(定时任务),自动执行shell脚本

业务场景&#xff1a;该文即为上次编写shell脚本的姊妹篇,在上文基础上,将可执行的脚本通过linux的定时任务自动执行,节省人力物力,话不多说,开始操作! 一、打开我们的服务器连接工具 连上服务器后,在任意位置都可以执行:crontab -e 如果没有进入编辑cron任务模式 根据提示查看…...

内存分析工具之Mat

自定义类MatClazz内存个数为9521。当前对象占用内存为16个字节。不包括其属性bytes的字节数。 通过查看MatClazz引用的类之byte数组之bytes。其单个数组占用的字节数为10256。整个内存MatClazz中属性bytes占用的byte[]字节数为97746376&#xff0c;与直方图统计趋近。 通过选…...

【vue】二、vue2仿去哪儿网app——首页开发实战:从零搭建到性能优化

1. 项目初始化与页面结构设计 开始一个Vue2仿去哪儿网App首页项目&#xff0c;首先要搭建基础框架。我习惯用vue-cli脚手架快速初始化项目&#xff0c;这个工具能帮我们处理好webpack配置、基础目录结构等繁琐工作。执行vue init webpack qunar-app命令后&#xff0c;会生成标…...

Ostrakon-VL-8B本地化部署详解:从OpenClaw社区获取模型到一键启动

Ostrakon-VL-8B本地化部署详解&#xff1a;从OpenClaw社区获取模型到一键启动 最近有不少朋友在问&#xff0c;怎么把社区里那些热门的视觉语言大模型&#xff0c;比如Ostrakon-VL-8B&#xff0c;真正部署到自己的服务器或者云平台上&#xff0c;做成一个随时能用的服务。确实…...

如何快速配置TranslucentTB:Windows任务栏美化终极教程

如何快速配置TranslucentTB&#xff1a;Windows任务栏美化终极教程 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要让Windows任务栏变…...

STM32CubeIDE工程复制粘贴保姆级教程:告别重复配置,5分钟搞定新项目

STM32CubeIDE工程复制粘贴保姆级教程&#xff1a;告别重复配置&#xff0c;5分钟搞定新项目 每次启动新项目时&#xff0c;你是否还在重复那些繁琐的初始化步骤&#xff1f;从零开始配置时钟树、外设参数、中断优先级&#xff0c;不仅耗时费力&#xff0c;还容易出错。对于经验…...

OpenCompass本地评测大模型实战指南(2025最新版)

1. 为什么你需要OpenCompass本地评测 最近两年大模型发展太快了&#xff0c;各种新模型层出不穷。作为开发者&#xff0c;你是不是经常遇到这样的困惑&#xff1a;这个新发布的模型到底效果如何&#xff1f;和之前用的模型相比优势在哪里&#xff1f;官方公布的benchmark数据靠…...

别再只数步数了!深入聊聊ADXL345计步算法里的‘动态阈值’与‘最活跃轴’

别再只数步数了&#xff01;深入聊聊ADXL345计步算法里的‘动态阈值’与‘最活跃轴’ 当你盯着智能手环上的步数统计时&#xff0c;有没有想过这串数字背后藏着怎样的算法智慧&#xff1f;ADXL345作为一款经典的三轴加速度传感器&#xff0c;其计步算法远非简单的阈值比较那么简…...

Clawdbot惊艳效果:Qwen3-32B在医疗问诊摘要与术语标准化输出实测

Clawdbot惊艳效果&#xff1a;Qwen3-32B在医疗问诊摘要与术语标准化输出实测 1. 测试背景与平台介绍 Clawdbot是一个统一的AI代理网关与管理平台&#xff0c;为开发者提供直观的界面来构建、部署和监控自主AI代理。这个平台集成了聊天界面、多模型支持和强大的扩展系统&#…...

深入解析Android系统分区:从启动到恢复的完整指南

1. Android系统分区基础认知 当你第一次拆解Android系统时&#xff0c;可能会被各种分区名称搞得晕头转向。其实这些分区就像我们电脑里的C盘、D盘一样&#xff0c;各自承担着不同的职责。我刚开始接触时也犯过糊涂&#xff0c;直到有次刷机把boot分区刷坏&#xff0c;手机直接…...

华为 eNSP 安装全攻略:Windows 11 25H2 完美适配

本教程适用范围 ✅ Windows 7&#xff08;所有版本&#xff09;✅ Windows 10&#xff08;所有版本&#xff09;✅ Windows 11 23H2 及以下✅ Windows 11 24H2&#xff08;OS 内部版本 ≥ 26100.3624&#xff09;✅ Windows 11 25H2❌ Windows 11 24H2&#xff08;OS 内部版本…...

Pixel Language Portal快速部署:Hunyuan-MT-7B支持ONNX Runtime加速推理

Pixel Language Portal快速部署&#xff1a;Hunyuan-MT-7B支持ONNX Runtime加速推理 1. 项目概述 像素语言跨维传送门(Pixel Language Portal)是一款基于Tencent Hunyuan-MT-7B核心引擎构建的创新翻译工具。与传统翻译软件不同&#xff0c;它将语言转换过程重新设计为一场16-…...