zoukankan      html  css  js  c++  java
  • 86. Partition List

    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.

    public ListNode Partition(ListNode head, int x) {
            if(head == null) return head;
            ListNode smallStart =new ListNode(0);
            ListNode largeStart =new ListNode(0);
            ListNode p1 = smallStart;
            ListNode p2 = largeStart;
            //assign small and large pointer
            
            while(head != null)
            {
                if(head.val < x)
                {
                     smallStart.next =head;
                     smallStart = smallStart.next;    
     
                }
                else
                {
                    largeStart.next = head;
                    largeStart = largeStart.next;
                }
                head = head.next;
            }
            largeStart.next = null;
            smallStart.next = p2.next;
            return p1.next;
        }
  • 相关阅读:
    认识dojo
    CommonJS规范
    点滴
    快速排序
    npm常用命令
    http详解
    js经验点滴js apply/call/caller/callee/bind使用方法与区别分析
    给string添加新的函数
    大马隐藏锁定研究
    一键购买
  • 原文地址:https://www.cnblogs.com/renyualbert/p/5870486.html
Copyright © 2011-2022 走看看