package com.interview.books.leetcodeoj; import com.interview.leetcode.utils.ListNode; /** * Created_By: stefanie * Date: 14-12-23 * Time: 下午9:53 */ public class LOJ86_PartitionList { //keep smallHead, largeHead, and small, large //large.next = null and small.next = largeHead.next; public ListNode partition(ListNode head, int x) { ListNode smallHead = new ListNode(0); ListNode largeHead = new ListNode(0); ListNode small = smallHead; ListNode large = largeHead; 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; } }