zoukankan      html  css  js  c++  java
  • 【leetcode】Partition List(middle)

    Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.

    You should preserve the original relative order of the nodes in each of the two partitions.

    For example,
    Given 1->4->3->2->5->2 and x = 3,
    return 1->2->2->4->3->5.

    思路:先分成大于等于x 和 小于x 两个链表 再连起来  还是用伪头部

    class Solution {
    public:
        ListNode *partition(ListNode *head, int x) {
            ListNode large(0), small(0);
            ListNode * l = &large;
            ListNode * s = &small;
    
            while(head != NULL)
            {
                if(head->val < x)
                {
                    s = s->next = head;
                }
                else
                {
                    l = l->next = head;
                }
                head = head->next;
            }
    
            l->next = NULL;
            s->next = large.next;
            return small.next;
        }
    };
  • 相关阅读:
    htop命令使用详解
    三月江南
    linux下文本三剑客之sed
    linux下五种查找命令
    Spring MVC 全局异常处理&文件上传
    About Spring MVC
    JSP
    java多线程
    Java中map接口 遍历map
    log4j
  • 原文地址:https://www.cnblogs.com/dplearning/p/4333410.html
Copyright © 2011-2022 走看看