首页 > 其他分享 >AcWIng 86. 分隔链表

AcWIng 86. 分隔链表

时间:2022-08-26 09:34:13浏览次数:63  
标签:head right ListNode val next 链表 left 86 AcWIng

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* partition(ListNode* head, int x) {
   

        ListNode* left = new ListNode(0);
        ListNode* right = new ListNode(0);
        ListNode* left_head = left;
        ListNode* right_head = right;
        while (head) {
            if (head ->val < x) {
                left ->next = head;
                left = left ->next;
            }
            else {
                right ->next = head;
                right = right ->next;
            }
            head = head ->next;
        }
        right ->next = nullptr;
        left ->next = right_head ->next;
        return left_head ->next;
    }
};

标签:head,right,ListNode,val,next,链表,left,86,AcWIng
From: https://www.cnblogs.com/hjy94wo/p/16626497.html

相关文章

  • 贪吃蛇(C语言版)链表实现
    贪吃蛇gitee:贪吃蛇C语言版:Snake蛇的结构typedefstructSnake{ intx; inty; structSnake*next; };游戏开始欢迎界面//游戏开始欢迎界面voidmeun(){ p......
  • 题解 UVA10869 Brownie Points II
    题意平面上有若干点,\(\text{stan}\)通过一个点划了一条直线,\(\text{ollie}\)通过在这条直线上的点作了一条垂线,那么平面被分成\(4\)个象限,\(\text{stan}\)获得的分数......
  • leetcode148:排序链表
    packagecom.mxnet;publicclassSolution148{publicstaticvoidmain(String[]args){}/***给你链表的头结点head,请将其按升序排列并......
  • P3201 [HNOI2009] 梦幻布丁 将颜色x变成颜色y 问总共有多少种颜色 启发式合并+链表
    https://www.luogu.com.cn/problem/P3201题目描述nn 个布丁摆成一行,进行 mm 次操作。每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色。......
  • AT2586 题解
    题目传送门许多人使用栈,然而根本不需要。先读入整个字符串,然后枚举每个字符。如果当前字符是左括号,往后搜,有就匹配并消除。然而消除这个动作太慢了,如果匹配到,只需把它......
  • AT4864 题解
    题目传送门显然是贪心题。对于每张优惠券,我们应该给当前最大的物品使用。如果使用普通的数组,每次都找最大值太慢了。因此,我们使用传说神器:优先队列。其他题解都没有说......
  • AT2286 题解
    题目传送门小学生又双叒叕来写题解啦!这题要用到因数个数定理,没学过的童鞋自己了解一下。由于和质数有关,我使用质数筛法。我使用较快的欧拉筛法算质数(想学就做这题)。事......
  • 什么是双向链表?双向链表的操作封装实现(增删改查)?
    什么是双向链表?双向链表既可以从头遍历到尾,又可以从尾遍历到头也就是链表相连的过程是双向的.那么它的实现原理,你能猜到吗?一个节点既有向前连接的引用,也......
  • 合并两条有序链表
     用JavaScript实现:constlink1=newLinkedList()link1.append(1)link1.append(3)link1.append(4)link1.append(6)li......
  • 双链表和循环链表
    一、结构体定义1.双链表typedefstructDLNode{ intdata; structDLNode*prior,*next;}DLNode;2.循环链表//同双链表二、操作1.尾插法建立双链表voidcreat......