力扣面试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;
    }
}
相关推荐
发现一只大呆瓜5 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
发现一只大呆瓜7 小时前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试
园小异7 小时前
2026年技术面试完全指南:从算法到系统设计的实战突破
算法·面试·职场和发展
alphaTao8 小时前
LeetCode 每日一题 2026/2/2-2026/2/8
算法·leetcode
甄心爱学习8 小时前
【leetcode】判断平衡二叉树
python·算法·leetcode
不知名XL9 小时前
day50 单调栈
数据结构·算法·leetcode
@––––––9 小时前
力扣hot100—系列2-多维动态规划
算法·leetcode·动态规划
java1234_小锋9 小时前
Java高频面试题:BIO、NIO、AIO有什么区别?
java·面试·nio
Lee川9 小时前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
YuTaoShao10 小时前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法三)DP 空间优化
算法·leetcode·职场和发展