力扣面试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;
    }
}
相关推荐
bo521003 分钟前
解决跨域的几种种方法, 你都知道几种?
前端·面试·浏览器
掘金安东尼1 小时前
前端周刊第421期(2025年7月1日–7月6日)
前端·面试·github
前端小巷子2 小时前
web从输入网址到页面加载完成
前端·面试·浏览器
Two_brushes.7 小时前
【算法】宽度优先遍历BFS
算法·leetcode·哈希算法·宽度优先
杰克尼12 小时前
BM5 合并k个已排序的链表
数据结构·算法·链表
yanlele14 小时前
前端面试第 75 期 - 2025.07.06 更新前端面试问题总结(12道题)
前端·javascript·面试
凌肖战17 小时前
力扣网编程55题:跳跃游戏之逆向思维
算法·leetcode
黑听人17 小时前
【力扣 简单 C】70. 爬楼梯
c语言·leetcode
前端小巷子18 小时前
Web开发中的文件上传
前端·javascript·面试
ゞ 正在缓冲99%…18 小时前
leetcode918.环形子数组的最大和
数据结构·算法·leetcode·动态规划