题解 | #划分链表#

划分链表

http://www.nowcoder.com/practice/1dc1036be38f45f19000e48abe00b12f

思路:把链表分成两个部分,左边是比目标x小的,断链即可,最后再连接起来。



public class Solution {
    public ListNode partition (ListNode head, int x) {
        ListNode left = new ListNode(0);//左链表的尾节点
        ListNode leftHead = left;//左链表的头节点
        ListNode rightHead = new ListNode(0);
        rightHead.next = head;
        ListNode pre = rightHead;//工作指针的前驱
        ListNode cur = pre.next;//工作指针
        while(cur!=null){
            if(cur.val<x){//把小于目标值的节点摘除,尾插到左链表中
                left.next = cur;
                pre.next = cur.next;
                cur.next = null;
                cur = pre.next;
                left = left.next;
            }
            else {
                pre = cur;
                cur = cur.next;
            }
        }
        left.next = rightHead.next;//把链表合起来,然后返回。
        return leftHead.next;
    }
}
全部评论

相关推荐

2025-12-15 14:25
云南大学 Java
lei22:入职可能会看学信网,最好别伪装,这个简历找实习肯定是够的,肯定会有收 28 届实习生的公司的,多投就行
点赞 评论 收藏
分享
02-01 12:05
复旦大学 Java
腾讯的提前批大概率应该是没有笔试的,但是这个时候有相当部分的同学简历估计都没有准备好,没准备好的同学也不用急,大部分都是3月之后开,这个时候开的绝大多数都是神仙打架,问的东西也比较难,打算投递的同学也多看下计算机网络和操作系统,腾讯对这部分的知识问的比较多。另外多刷下牛客的热门题库,刷题注意刷ACM模式,和牛客的周赛题,腾讯有的部门会从这里面出原题。我是@程序员花海关注我,带你了解更多校招资讯!
程序员花海:还没有来得及准备的同学可以看下学习路线:https://www.nowcoder.com/discuss/824693499982315520?sourceSSR=users算法题:https://www.nowcoder.com/feed/main/detail/20e7a999fa04485b88340a274411ca0d?sourceSSR=users八股文:https://www.nowcoder.com/discuss/833102362771251200?sourceSSR=users简历书写方式:https://www.nowcoder.com/discuss/839907820706205696?sourceSSR=users都是以前在牛客发的文章~
软开人,秋招你打算投哪些...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务