力扣面试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;
    }
}
相关推荐
Tisfy7 分钟前
LeetCode 0678.有效的括号字符串:O(n)+O(1)一次遍历
算法·leetcode·字符串·题解·贪心·括号匹配
怕浪猫8 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
leikooo10 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
Navigator_Z13 小时前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode
IT大白鼠14 小时前
搜索系列 · 第 08 篇——面试收官:高频题与全景总结
elasticsearch·面试·nosql
青山木15 小时前
Hot 100 --- 编辑距离
java·数据结构·算法·leetcode·动态规划
JAVA面经实录91716 小时前
线上故障标准处理流程【完整版|面试背诵+生产落地】
java·面试·职场和发展
浪浪山_大橙子18 小时前
公司里的 AI,终于不只会聊天:我用 GPT‑6 把企业工作伙伴开源了
前端·后端·面试
H.莓飛18 小时前
【数据结构】链表_OJ题
linux·数据结构·算法·链表
All for pursuit.18 小时前
【回溯-4】46.全排列
数据结构·c++·算法·leetcode