leetcode--分隔链表(java)

news/2025/1/15 22:56:33/

分割链表

  • leetcode 86 分割链表 (中等)
  • 解题思路:
  • 链表专题

leetcode 86 分割链表 (中等)

leetcode 86 分割链表 原题链接,可以直接测试

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

解题思路:

建立两个临时链表,一个用来链接小于给定值的节点,一个来链接大于等于的节点,然后再将两个链表连接在一起。就变得很简单了。

代码演示:

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode partition(ListNode head, int x) {if(head == null){return null;}//用来链接小于给定值的临时链表ListNode dump1 = new ListNode(0);//大于等于的节点的临时链表ListNode dump2 = new ListNode(0);//下面三个指针,用来移动比较节点的值ListNode p1 = dump1;ListNode p2 = dump2;ListNode p = head;while(p != null){if(p.val < x){p1.next = p;p1 = p;}else{p2.next = p;p2 = p;}//将p 的next 指针断开,p来到他下一个指针位置。ListNode temp = p.next;p.next = null;p = temp;}//将两个临时链表合并起来,p1.next = dump2.next;//返回第一个节点。return dump1.next;}
}

链表专题

将一个链表按给定值分成小于等于和大于三个部分

leetcoe–合并 K 个升序链表(java)

leetcode–删除链表的倒数第N个节点(java)

合并两个有序链表(java)

leetcode–环形链表.找到入环节点(java)

LeetCode:相交链表(java)


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

相关文章

进程信号的保存和处理

目录 &#x1f3c6;一、信号的保存 ①信号的捕捉 ②sigset_t ③sigaction &#x1f3c6;二、不可重入函数 &#x1f3c6;三、volatile &#x1f3c6;四、SIGCHLD &#x1f3c6;一、信号的保存 在聊信号保存之前&#xff0c;我们不妨想一个问题&#xff0c;如果把所有信号…

笔记--大数据--Hadoop--01--基础概念

Hadoop是什么 Hadoop是一个分布式系统基础架构 主要解决海量数据的存储和分析计算问题 Hadoop优势–4高 高可靠性&#xff1a;Hadoop底层维护多个数据版本&#xff0c;单个计算元素或存储故障也不会导致数据丢失 高扩展性&#xff1a;在集群中分配任务数据&#xff0c;可以方便…

物联网协议之MQTT

MQTT 简介 MQTT 可以简单看做一个网络协议&#xff0c;用于机器对机器的通信&#xff08;与客户端到服务器的传输有点区别&#xff09;。智能传感器、可穿戴设备和其他物联网&#xff08;IoT&#xff09;设备通常必须通过带宽有限的资源受限网络传输和接收数据。这些物联网设…

Spring Boot配置文件及日志信息

目录 前言&#xff1a; Spring Boot优点 配置文件 配置文件格式 读取配置文件 properties配置文件格式 properties优缺点分析 yml配置文件格式&#xff08;另一种标记语言&#xff09; yml优缺点分析 Spring Boot 不同平台配置文件规则 日志信息 日志的功能 Sprin…

Linux (centos)中文乱码问题解决 及说明

首先要区别3个概 &#xff1a;编码集、字符集、字体 是完全不同的东西&#xff0c;我们要解决的是字符集问题。 当一个系统初始化完毕后&#xff0c;会生成一个 /usr/lib/locale/locale-archive 文件&#xff0c;这个是字符集二进制文件&#xff0c;是系统不同语言运行的核心&…

uCOSii中的事件标志组

事件标志管理 (EVENT FLAGS MANAGEMENT) OSFlagAccept() 无等待查询”事件标志组的事件标志位”是否建立 OSFlagPend() 需要等待”事件标志组的事件标志位”建立 OSFlagCreate() 建立一个事件标志组 OSFlagDel() 删除一个事件标志组 OSFlagPost() 置位或清0事件标志组中的…

wait,notify,notifyAll,sleep,join等线程方法的全方位演练

一、概念解释 1. 进入阻塞&#xff1a; 有时我们想让一个线程或多个线程暂时去休息一下&#xff0c;可以使用 wait()&#xff0c;使线程进入到阻塞状态&#xff0c;等到后面用到它时&#xff0c;再使用notify()、notifyAll() 唤醒它&#xff0c;线程被唤醒后&#xff0c;会等…

计算机操作系统第四版第八章磁盘存储器的管理—课后习题答案

1.目前常用的外存有哪几种组织方式? (1)连续组织方式。为每一个文件分配--组位置相邻接的盘块&#xff0c;由此形成的文件物理结构是顺序式的文件结构。 (2)链接组织方式。为每个文件分配一组位置离散的盘块&#xff0c;通过给每个盘块设置一个指针,将属于同-一个文件的盘块链…