Partition List

来源:互联网 发布:网络预警包括那2个方面 编辑:程序博客网 时间:2024/05/18 06:23

Easy Partition ListMy Submissions

36%
Accepted

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->null and x = 3,
return 1->2->2->4->3->5->null.

Example
Tags Expand 


public class Solution {    /**     * @param head: The first node of linked list.     * @param x: an integer     * @return: a ListNode      */    public ListNode partition(ListNode head, int x) {        if (head == null || head.next == null) {            return head;        }        ListNode small = new ListNode(0);        ListNode big = new ListNode(0);        ListNode s = small; //dummy node        ListNode b = big; //dummy node        while (head != null) {            if (head.val < x) {                s.next = head;                s = s.next;            } else {                b.next = head;                b = b.next;            }            head = head.next;        }        s.next = big.next;        b.next = null;        return small.next;    }}


0 0