【LeetCode:86. 分隔链表 | 链表】

news2024/12/23 5:12:37

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 链表
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 86. 分隔链表

⛲ 题目描述

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你应当 保留 两个分区中每个节点的初始相对位置。

在这里插入图片描述

提示:

链表中节点的数目在范围 [0, 200] 内
-100 <= Node.val <= 100
-200 <= x <= 200

🌟 求解思路&实现代码&运行结果


⚡ 链表

🥦 求解思路
  1. 首先,链表的题目一定要多多练习,思路也非常明显,主要考察我们的coding能力。
  2. 具体求解思路,设置俩个链表节点,遍历整个链表,分别维护找到小于x节点的链表节点,以及大于等于x节点的链表节点。最后整合连接即可。
  3. 在具体实现的时候,要注意一些细节的点。俩个头节点是用来找到整条链表节点的所以,不能用来遍历,遍历的时候需要提前拷贝副本,通过副本遍历。
  4. 无论是遍历head链表,还是维护小于x节点的链表,或者是大于等于x节点的链表,每次都需要继续指向后续的位置。
  5. 具体求解的过程步骤请看下面代码。
🥦 实现代码
/**
 * 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) {
        ListNode head1=new ListNode(-1);
        ListNode head2=new ListNode(-1);
        ListNode small=head1,large=head2;
        while(head!=null){
            int value=head.val;
            if(value>=x){
                large.next=new ListNode(value);
                large=large.next;
            }else{
                small.next=new ListNode(value); 
                small=small.next;
            } 
            head=head.next;
        }
        small.next=head2.next;
        head2.next=null;
        return head1.next;
    }
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

2023年中国档案信息化发展历程、竞争格局及行业市场规模分析[图]

档案信息化是以网络、计算机、信息技术为手段&#xff0c;以档案资源为对象&#xff0c;以档案工作为依托&#xff0c;以档案管理学最新理论为指导&#xff0c;按照信息社会和国家档案行政管理部门的要求、开展档案的收集、整理、保管、开发和利用的现代化管理过程。 档案信息化…

Node.js、Vue的安装与使用(Linux OS)

Vue的安装与使用&#xff08;Linux OS&#xff09; Node.js的安装Vue的安装Vue的使用 操作系统&#xff1a;Ubuntu 20.04 LTS Node.js的安装 安装Node.js Node.js官方下载地址 1.选择合适的系统架构&#xff08;可通过uname -m查看&#xff09;版本安装 2.下载文件为tar.xz格…

1 如何入门TensorFlow

近年来人工智能的火爆吸引了很多人&#xff0c;网上相关的热门课程报名的人很多&#xff0c;但是坚持下去的人却少。那些晦涩的原理没有一定知识的积累很难能理解。 如果你对人工智能感兴趣&#xff0c;且想利用人工智能去实现某项功能&#xff0c;而不是对人工智能本身感兴趣&…

Vue3 + Echarts(5.x) 实现中国地图

Echarts展示地图 效果图 安装 npm install echarts默认安装的是 5.x 版本 在这个版本中的引入方式必须是下面这种方法 import * as echarts from echarts源码 在echarts5.x版本中&#xff0c;已经不再提供地图数据&#xff0c;所以需要我们自己手动下载&#xff0c;我这里…

Qt扫盲-QTextCodec理论总结

QTextCodec理论总结 一、概述二、编码支持三、使用四、创建自己的编解码器类 一、概述 QTextCodec 是Qt提供的一个管理字符串编码的功能&#xff0c;他可以在不同编码方式中来回转换&#xff0c;在文件读取的时候、格式编码转换的时候用处很大。Qt使用Unicode 编码来存储、绘制…

探索未来的视觉革命:卷积神经网络的崭新时代(一)

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

【圆满落幕】IDCF社区天津理工大学华信软件学院校友会技术沙龙丨IDCF

金秋十月的校园既充满活力又不失庄重&#xff0c;既富有学术气息又不失生活情趣&#xff0c;这里是学生们求学、成长和发展的小天地&#xff0c;洋溢着青春的活力和积极向上的氛围。由IDCF社区&天津理工大学华信软件学院联合举办的校友会技术沙龙活动在这里圆满举行——让技…

Kotlin 知识点小结

一.Kotlin 协程启动方式总结 1.withContext 同步串行 带返回 2.launch 异步 不带返回 3.asyc 异步 带返回 4.runblocking 同步 带返回 二.作用域函数 &#xff0c;T的扩展函数 &#xff08;with不是T的扩展函数&#xff09;都是内联函数 Kotlin中的lateinit和by lazy有以下…

短视频矩阵系统源码---php搭建

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统&#xff0c;目前是全国源头独立开发)&#xff0c;开发功能大拆解分享&#xff0c;功能大拆解&#xff1a; &#xff08;1&#xff09;数据概览&#x…

【LeetCode力扣】86. 分隔链表

目录 1、题目介绍 2、解题思路 2.1、双链表双指针 2.2、代码描述 1、题目介绍 原题链接&#xff1a;86. 分隔链表 - 力扣&#xff08;LeetCode&#xff09; 示例 1&#xff1a; 输入&#xff1a;head [1,4,3,2,5,2], x 3 输出&#xff1a;[1,2,2,4,3,5] 示例 2&#xff…

2048天创作纪念日

2048天创作纪念日 初心收获日常成就憧憬 初心 大一的时候&#xff0c;老师上课说可以通过浏览他人博客或者自己写博客来学习编程。从那以后&#xff0c;写博客这件事情就埋在了我心里&#xff0c;但是我一直没有什么内容想写。直到入选了ACM校队后&#xff0c;需要经常做大量的…

【算法|动态规划No.24】leetcode LCR 093. 最长的斐波那契子序列的长度

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

wireshark抓包解密TLS,解决个人环境看不到明文流量

wireshark抓包浏览器流量 https://monkeywie.cn/2020/08/07/wireshark-capture-https/ 解密TLS流量 按照上面的步骤抓到流量后&#xff0c;正常是可以看到明文数据&#xff0c;但在我的wireshark上一直看不到。因为有其它替代方案&#xff08;在反向代理后面抓包、fiddler&a…

2023下半年信息系统集成设计师选择题

选择题 第一章 信息基础知识第二章 信息系统集成第三章 专业技能知识第四章 项目管理一般知识第五章 项目立项管理第六章 项目整体管理第七章 项目范围管理第八章 项目进度管理第九章 项目成本管理第十章 项目质量管理第十一章 项目管理干系人第十三章 合同管理第十五章 配置管…

springBoot整合讯飞星火认知大模型

1.概述 讯飞星火大模型是科大讯飞最近开放的拥有跨领域的知识和语言理解能力的大模型&#xff0c;能够完成问答对话和文学创作等。由于讯飞星火大模型最近可以免费试用&#xff0c;开发者都可以免费申请一个QPS不超过2的账号&#xff0c;用来实现对平台能力的验证。本文将利用…

好物周刊#27:音乐助手

https://github.com/cunyu1943/JavaPark https://yuque.com/cunyu1943 村雨遥的好物周刊&#xff0c;记录每周看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;每周五发布。 一、项目 1. lamp 快速开发平台 lamp-cloud 基于 Jdk11 SpringCloud SpringBoot …

【LeetCode】101. 对称二叉树

101. 对称二叉树&#xff08;简单&#xff09; 方法&#xff1a;递归 思路 两个树互为镜像的条件&#xff1a; 它们的两个根结点具有相同的值。每个树的右子树都与另一个树的左子树镜像对称。 因此&#xff0c;我们需要递归比较左子树和右子树&#xff0c;将根节点的左子树记…

线程池在项目中的使用

1.runAsync执行完后无返回值 package com.search.thread; import java.util.concurrent.*; public class ThreadTest {public static ExecutorService executor Executors.newFixedThreadPool(10);public static void main(String[] args) throws ExecutionException, Interr…

极米投影仪怎么样?轻薄投影极米Z7X值得选择吗?

对于当代快节奏的打工人而言&#xff0c;我们有时候很需要一些独特的方式来逃离日常生活的疲惫&#xff0c;拥有一个自己的空间&#xff0c;享受一个人的独处时光。要想享受居家独处好时光&#xff0c;当然少不了家居娱乐好伙伴极米Z7X。无论你是想要看一场科幻大片&#xff0c…

gin框架39--重构 BasicAuth 中间件

gin框架39--重构 BasicAuth 中间件 介绍gin BasicAuth 解析自定义newAuth实现基础认证注意事项说明 介绍 每当我们打开一个网址的时候&#xff0c;会自动弹出一个认证界面&#xff0c;要求我们输入用户名和密码&#xff0c;这种BasicAuth是最基础、最常见的认证方式&#xff0…