1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| package com.demo.s86;
class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } } public class Solution {
public ListNode partition(ListNode head, int x) { ListNode lessHead = new ListNode(0); ListNode moreHead = new ListNode(0);
if(head == null) return null; ListNode cur = head; ListNode curLess = lessHead; ListNode curMore = moreHead;
while(cur != null) { if(cur.val < x) { curLess.next = new ListNode(cur.val); curLess = curLess.next; cur = cur.next; } else { curMore.next = new ListNode(cur.val); curMore = curMore.next; cur = cur.next; } } curLess.next = moreHead.next; return lessHead.next; }
}
|