力扣面试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;
    }
}
相关推荐
用户0916 分钟前
Swift Feature Flags:功能切换的应用价值
面试·swiftui·swift
yinke小琪25 分钟前
凌晨2点,我删光了所有“精通多线程”的代码
java·后端·面试
道可到1 小时前
字节面试 Java 面试通关笔记 03| java 如何实现的动态加载(面试可复述版)
java·后端·面试
聪明的笨猪猪1 小时前
Spring Boot & Spring Cloud高频面试清单(含通俗理解+生活案例)
java·经验分享·笔记·面试
要加油哦~1 小时前
刷题 | 牛客 - 前端面试手撕题 - 中等 - 1-2/20 知识点&解答
前端·面试
聪明的笨猪猪1 小时前
Spring MVC高频面试清单(含通俗理解+生活案例)
java·经验分享·笔记·面试
new coder2 小时前
[算法练习]Day 4:定长滑动窗口
算法·leetcode
筱砚.2 小时前
【数据结构——十字链表】
网络·数据结构·链表
坚持编程的菜鸟3 小时前
LeetCode每日一题——重复的子字符串
数据结构·算法·leetcode
用户094 小时前
停止滥用 Dispatchers.IO:Kotlin 协程调度器的深度陷阱与优化实战
android·面试·kotlin