首页 > 其他分享 >(链表)21-分隔链表

(链表)21-分隔链表

时间:2023-11-21 22:44:59浏览次数:21  
标签:large head ListNode 21 val next 链表 分隔

/**
 * 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) {
        // 新建小于特定值x的链表
        ListNode small = new ListNode(0);
        // 申请小链表的遍历指针
        ListNode smallHead = small;
        // 新建大于特定值x的链表
        ListNode large = new ListNode(0);
        // 申请大链表的遍历指针
        ListNode largeHead = large;
        // 将链表的节点按照值的大小分别尾插入两个链表
        while (head != null) {
            if (head.val < x) {
                // 插入小链表
                small.next = head;
                small = small.next;
            } else {
                // 插入大链表
                large.next = head;
                large = large.next;
            }
            head = head.next;
        }
        // 将大小链表相连
        large.next = null;
        small.next = largeHead.next;
        // 返回结果
        return smallHead.next;   
    }
}

 

标签:large,head,ListNode,21,val,next,链表,分隔
From: https://www.cnblogs.com/StringBuilder/p/17847803.html

相关文章

  • 面试题 02.07. 链表相交
    2023-11-21面试题02.07.链表相交-力扣(LeetCode)思路:1暴力法:判断的是next是不是相等1hashmap存储其中一个的全部,遍历另一个看是不是在map中(用set就行,不用map)2双指针:用2个指针分别遍历2链表(都是遍历完一个继续遍历另一个),最终会相等的,相等就是找到了暴力法:/***Defi......
  • 142. 环形链表 II
    2023-11-21142.环形链表II-力扣(LeetCode)思路:1hashmap:将其next一个个存入,直到找到next已经存在的,这里用set就行2快慢指针,一个一步步走,一个一次走2步,自己画一下图,其一定会在环中相遇,且一定是多走一圈,然后相遇时,将慢指针保留,继续走,重新定义一个指针从一开始走,他们相等时就......
  • 每日总结2023年11月21日
    node:internal/crypto/hash:69  this[kHandle]=new_Hash(algorithm,xofLen);          ^ Error:error:0308010C:digitalenveloperoutines::unsupported这是我从GitHub上下载的项目,在运行前端vue时出现的问题,在网上搜了一下有两个方法,一个......
  • 11.21打卡
    1.复制IP(93)有效IP地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。例如:"0.1.2.201" 和"192.168.1.1" 是 有效 IP地址,但是 "0.011.255.245"、"192.168.1.312" 和 "[email protected]" 是 无效 IP地址。给定一个只......
  • 2023-11-21 hexo next主题 如何在博客网站底部添加备案号
    主题:NexT.Pisces v5.1.4找到路径:博客目录名称\themes\hexo-theme-next\layout\_partials找到文件:footer.swig,并在里面添加备案号,如图:未改变前:<divclass="copyright">{##}{%setcurrent=date(Date.now(),"YYYY")%}{##}&copy;{%iftheme.footer.since......
  • 2023年11月21日阅读笔记
    《黑客与画家》技艺提升有捷径么首先,最好的文字来自于不停的修改,好的编程语言和软件产品同样如此,没什么软件产品是完美的。因此,如果你打算有机会不断调整优化自己的设计和实现,那你就需要保证你的工作在某个特定阶段是可持续的。其次,技术热点不断变更,每次的技术更迭,就像流水冲......
  • 11.21每日总结
    实验内容与完成情况:(一) 编程实现以下指定功能,并用Hadoop提供的HBaseShell命令完成相同任务:  List列出hbase的表  查看表中的数据并且向指定表中添加数据。  删除列族。  统计表的行数和删除表。(二) HBase数据库操作1.创建表。     ......
  • 11.21
    昨天没闲话。3yy今天评价学校水龙头:你在二楼是找不到几个正常的水龙头的。说的很对,因为二楼的水龙头歪的比正常的还多。放假时候B站主页给我推了galgame?看来我调教的挺好。游戏名叫《他和她和她的恋爱》我去,纯爱神作(然而并不是),看了这游戏的讲解给我震撼到了,这剧情是牛的吧,世界......
  • 单链表建表,倒置,遍历(不使用Class,简洁易懂)
    在C++中通过递归方法实现单链表倒置初始化列表structListNode{ intval; LiseNode*next; ListNode(intx):val(x),next(NULL){}};遍历voidquery_node(){ node*p=head; while(p!=NULL){ cout<<p->data<<''; p=p->nxt; } cout<<endl;}建表(......
  • 每日总结11.21
    HBase数据库操作(1)createTable(StringtableName,String[]fields)创建表,参数tableName为表的名称,字符串数组fields为存储记录各个字段名称的数组。要求当HBase已经存在名为tableName的表的时候,先删除原有的表,然后再创建新的表。(2)addRecord(StringtableName,Stringrow,Stri......