力扣面试150题--分隔链表

day 39

题目描述

思路

遍历链表,每一个点与值比较,比值小就继续,比值大就放到链表尾部即可

java 复制代码
/**
 * 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 fakehead=new ListNode();
        fakehead.next=head;
        ListNode z=head;
        while(z.next!=null){
            z=z.next;
        }
        ListNode before=fakehead;
        ListNode y=head;
        ListNode end=z;
        while(y!=end){
            if(y.val>=x){
                z.next=y;
                before.next=y.next;
                y=y.next;
                z=z.next;
                z.next=null;
            }
            else{
                before=before.next;
                y=y.next;
            }
        }
        if(y.val>=x){
                z.next=y;
                before.next=y.next;
                y=y.next;
                z=z.next;
                z.next=null;
            }
        return fakehead.next;
    }
}
相关推荐
PAK向日葵7 小时前
【算法导论】PDD 0817笔试题题解
算法·面试
阿巴~阿巴~14 小时前
深入解析C++ STL链表(List)模拟实现
开发语言·c++·链表·stl·list
程序员曦曦16 小时前
10:00开始面试,10:06就出来了,问的问题有点变态。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
前端小巷子18 小时前
Vue 事件绑定机制
前端·vue.js·面试
是乐谷18 小时前
阿里云杭州 AI 产品法务岗位信息分享(2025 年 8 月)
java·人工智能·阿里云·面试·职场和发展·机器人·云计算
uhakadotcom18 小时前
开源:subdomainpy快速高效的 Python 子域名检测工具
前端·后端·面试
重生之我是Java开发战士18 小时前
【数据结构】深入理解单链表与通讯录项目实现
数据结构·链表
狂炫一碗大米饭20 小时前
事件委托的深层逻辑:当冒泡不够时⁉️
javascript·面试
AAA修煤气灶刘哥21 小时前
别再懵了!Spring、Spring Boot、Spring MVC 的区别,一篇讲透
后端·面试
Spider_Man21 小时前
面试官的 JS 继承陷阱,你能全身而退吗?🕳️
前端·javascript·面试