面试金典题2.4

news/2024/9/24 13:48:51/

给你一个链表的头节点 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

其实这道题我一开始还没理解到意思,我以为是要将整个链表的数字进行排序,后面发现其实没那么麻烦,它只需要跟给定的目标值进行比较就好了,比如给定目标值是5,那么只需要一个一个去跟5比较,比5小的放前面,比5大或相等的放后面。说到这里,其实这道题的思路已经出来了,就是去遍历整个链表,然后跟目标值进行比较,比目标值小的放在一个链表里面,比它大的放在另一个链表里面,然后把两个链表连接起来就是最后的结果。

leetcode代码如下

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode* partition(ListNode* head, int x) {ListNode* s=new ListNode(0);ListNode* l=new ListNode(0);ListNode* sh=s;ListNode* lh=l;while(head!=nullptr){if(head->val<x){s->next=head;s=s->next;}else{l->next=head;l=l->next;}head=head->next;}l->next=nullptr;s->next=lh->next;return sh->next;}
};


http://www.ppmy.cn/news/1529841.html

相关文章

从零开始:打造你的个人AI试衣间

从零开始&#xff1a;打造你的个人AI试衣间 你是不是想做一个炫酷的项目&#xff0c;却不知道从哪开始&#xff1f;别担心&#xff01;今天我将带你从零到一&#xff0c;亲手打造一个AI试衣应用。在这个项目中&#xff0c;我们将调用阿里云的AI接口&#xff0c;利用Flask框架创…

31. RabbitMQ顺序消费

1. 前言 上个小节中我们介绍了 RabbitMQ 中如何防止消息丢失,即保证消息发送的 At Least Once 性质,除此之外,如何防止消息被重复消费,即保证消息消费的 Exactly Once 性质,也是业务逻辑中需要考虑的问题。 2. 消息消费顺序 面试官提问:业务中使用了 RabbitMQ 消息队列…

C++20 std::format

一、前言 1、传统 C 格式化的问题与挑战 可读性差&#xff1a;使用 C 中的 printf 和 scanf 家族函数进行格式化输出和输入时&#xff0c;它们的语法较为复杂&#xff0c;难以阅读。在较大的代码项目中&#xff0c;可读性差会导致维护困难。类型安全性差&#xff1a;printf 和…

spark之不同序列化对比

一&#xff0c;spark的rdd的序列话不同介绍 下面是使用不同序列化后的占用资源和数据大小 2&#xff0c;sparksql中序列化的区别 sparksql中使用序列化和不使用差别不大&#xff0c;英文sparksql中默认使用了encode自己实现的序列化方法&#xff0c;加上与不加序列化差别不大…

前端——表单标签样式

1. form表单标签 块级元素 action: 表单提交地址 method: 表单提交格式 https网络协议请求格式: post/get等 通常: post方式是发送数据 而get是拿取数据 name: 表单的名称 target: 提交完表单之后 你的新页面在哪里打开 2. input输入控件 可以通过type属性 …

基于单片机巡迹避障智能小车系统

文章目录 前言资料获取设计介绍设计程序具体实现截图设计获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们…

SQL_UNION

在 SQL 中使用 UNION 操作符时&#xff0c;被联合的两个或多个 SELECT 语句的列数必须相同&#xff0c;并且相应的列数据类型也需要兼容。这是因为 UNION 操作符会将结果组合成单个结果集&#xff0c;每个 SELECT 语句的结果行将按顺序放置在结果集中。 例如&#xff0c;如果你…

【Mysql】为modified_time和created_time设置默认值

建立表SQL&#xff1a; CREATE TABLE your_table_name (id int(11) NOT NULL AUTO_INCREMENT,/* 其他字段 */created_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT 创建日期,modified_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 修改…