86. 分隔链表

news2024/10/6 8:39:38

86. 分隔链表

  • 题目-中等难度
  • 示例
  • 1. 新建两链表,根据x值分类存放,最后合并

题目-中等难度

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/summary-ranges
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

1. 新建两链表,根据x值分类存放,最后合并

时间
24ms
击败 42.86%使用 Python 的用户
内存
12.70mb
击败 64.81%使用 Python 的用户

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):
    def partition(self, head, x):
        """
        :type head: ListNode
        :type x: int
        :rtype: ListNode
        """
        # 存储小于x的节点
        sn = ListNode(-1)
        s = sn
        # 存储大于x的节点
        ln = ListNode(-1)
        l = ln
        
        # 遍历检查节点, 将节点归类
        p = head
        while p:
            if p.val < x:
                s.next = ListNode(p.val)
                s = s.next
            else:
                l.next = ListNode(p.val)
                l = l.next
            p = p.next
        # s为ln的最后一个节点位置, 将s的下一项指向ln, 能够连接两个链表, ln.next是排除头节点的ln
        s.next = ln.next
        return sn.next

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

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

相关文章

【Spring源码】小白速通解析Spring源码,从0到1,持续更新!

Spring源码 参考资料 https://www.bilibili.com/video/BV1Tz4y1a7FM https://www.bilibili.com/video/BV1iz4y1b75q bean的生命周期 bean–>推断构造方法&#xff08;默认是无参构造&#xff0c;或指定的构造方法&#xff09;–>实例化成普通对象&#xff08;相当于ne…

【Vue3】Vue3 UI 框架 | Element Plus —— 创建并优化表单

安装 # NPM $ npm install element-plus --save // 或者&#xff08;下载慢切换国内镜像&#xff09; $ npm install element-plus -S// 可以选择性安装 less npm install less less-loader -D // 可以选择性配置 自动联想src目录Element Plus 的引入和注入 main.ts import…

S7-200 Smart 的多种端口及通讯方式

每个S7-200 SMART CPU都提供一个以太网端口和一个RS485端口(端口0)&#xff0c;标准型CPU额外支持SB CM01信号板(端口1)&#xff0c;信号板可通过STEP 7-Micro/WIN SMART软件组态为RS232通信端口或RS485通信端口。 CPU 通信端口引脚分配 1.S7-200 SMART CPU 集成的 RS485 通信…

数据结构入门 — 时间复杂度、空间复杂度

前言 数据结构_空间复杂度_时间复杂度讲解_常见复杂度对比 本文介绍数据结构中的时间复杂度和空间复杂度 ***文章末尾&#xff0c;博主进行了概要总结&#xff0c;可以直接看总结部分*** 博主博客链接&#xff1a;https://blog.csdn.net/m0_74014525 点点关注&#xff0c;后期…

防静电实时监控系统具有哪些功能

防静电实时监控系统是一种用于监测、检测和控制静电产生和积累的系统。它通过使用各种传感器和仪器&#xff0c;实时监测环境中的静电情况&#xff0c;并及时采取措施来防止静电危害和事故的发生。 防静电实时监控系统通常具有以下功能&#xff1a; 1. 传感器监测&#xff1a;…

Day13 04-Linux的虚拟机克隆-scp命令-ssh免登录-crontab定时器及时间同步操作

文章目录 第五章 多虚拟机的操作5.1 虚拟机克隆【掌握】5.1.1 克隆前的准备工作5.1.2. 修改IP地址5.1.3. 修改主机名5.1.4. 修改域名映射文件5.1.5. 虚拟机之间通信5.1.6. 流程总结 5.2. scp命令【重点】5.2.1. 命令格式5.2.2. 小技巧 5.3. ssh免密登录【重点】5.3.1. ssh的简介…

约数之和(质因子分解)

思路&#xff1a; &#xff08;1&#xff09;由数论基本定理&#xff0c;任何一个正整数x都能写作&#xff0c;其中p1,p2..pk为x的质因子。 &#xff08;2&#xff09; 由此可以推断&#xff0c;要求一个数约数的和&#xff0c;注意到约数就是p1,p2...pk的一种组合&#xff0…

Netty:ByteBuf类型转化

说明 io.netty.buffer.ByteBuf经常需要跟其它类型互相转化&#xff0c;例如ByteBuf类型作为Object类型函数参数传递&#xff0c;函数内部处理时将Object转换为ByteBuf。 代码示例 ByteBuf和Object类型互转 package com.thb;import io.netty.buffer.ByteBuf; import io.net…

【Java转Go】快速上手学习笔记(一)之环境安装篇

前言 前两天开始学习Go&#xff0c;需要写篇笔记记录总结一下。 Go它也是可以做web开发的&#xff0c;就像Java一样&#xff0c;做JavaWeb项目&#xff0c;Go也可以做GoWeb项目。当然Go的作用用处肯定不止这个&#xff0c;还有很多&#xff0c;只是因为我目前的话&#xff0c…

python中两个数据框之间的遍历

1.输入文件1 文件1&#xff1a;第一列是基因名字&#xff0c;列2&#xff1a;外显子起始位置&#xff0c;列3&#xff1a;外显子终止位置&#xff0c;列4&#xff1a;外显子的序号 2.输入文件2&#xff1a; 备注&#xff1a;列1&#xff1a;基因id&#xff1b;列2&#xff1a;…

浅谈早期基于模板匹配的OCR的原理

基于模板匹配的概念是一种早期的字符识别方法&#xff0c;它基于事先准备好的字符模板库来与待识别字符进行比较和匹配。其原理如下&#xff1a; 1. 字符模板库准备&#xff1a;首先&#xff0c;针对每个可能出现的字符&#xff0c;制作一个对应的字符模板。这些模板可以手工创…

Milvus Cloud向量数据库或率先在垂直领域体现价值

从市场维度上看,尽管大模型带火了向量数据库,多家初创公司受到资本市场青睐,但是其商业化落地和规模化应用的前景仍不明朗:一方面,技术迭代慢,没有新的突破。向量数据库核心技术包括索引、相似度计算、Embedding等,这些技术早已出现,时至今日并没有实现大的创新突破;另…

安全头响应头(三)​X-Content-Type-Options

一 X-Content-Type-Options响应头 说明&#xff1a;先写个框架,后续补充 思考&#xff1a;请求类型是 "style" 和 "script" 是什么意思? script标签 style StyleSheet JavaScript MIME type 文件扩展和Content-Type的映射关系 ① 基础铺垫 ngin…

Kali Linux助您网络安全攻防实战

Kali Linux&#xff1a;黑客与防御者的神器 Kali Linux是一款专为网络安全测试和攻防实践而设计的操作系统。它汇集了大量的安全工具&#xff0c;可以用于渗透测试、漏洞扫描、密码破解等任务&#xff0c;不仅为黑客提供了强大的攻击能力&#xff0c;也为安全防御者提供了测试和…

每日一题 25K个一组翻转链表

题目 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内…

继承和多态C++

这里写目录标题 继承public、protected、private 修饰类的成员public、protected、private 指定继承方式改变访问权限 C继承时的名字遮蔽问题基类成员函数和派生类成员函数不构成重载C基类和派生类的构造函数构造函数的调用顺序基类构造函数调用规则 C基类和派生类的析构函数C多…

我的创作纪念日(256天)

前言 结缘 我与csdn的结缘&#xff0c;之前在创作纪念日&#xff08;128天&#xff09;便已提到&#xff0c;今在此便不再多言 收获 很惭愧&#xff0c;自六月底至八月中旬&#xff0c;因为忙于找工作&#xff0c;奔赴面试求职之际&#xff0c;写博客没有像之前那么勤&#x…

JetPack Compose 学习笔记(持续整理中...)

1.为什么要学&#xff1f; 1.命令式和声明式 UI大战,个人认为命令式UI自定义程度较高,能更深入到性能,内存优化方面,而申明式UI 是现在主流的设计,比如React,React Native,Flutter,Swift UI等等,现在性能也逐渐在变得更好 2.还有一个原因compose 是KMM 是完整跨平台的UI基础 3.…

企业内部知识问答系统面临的挑战及解决方案;小米开启AI大模型内测版本

&#x1f989; AI新闻 &#x1f680; 小米宣布未来五年投入1000亿元&#xff0c;开启AI大模型内测版本 摘要&#xff1a;在小米雷军年度演讲上&#xff0c;小米宣布未来五年将投入1000亿元人民币用于技术研发&#xff0c;同时公布了AI大模型内测版本的邀请测试。该内测版本将…