if (head == null || head.next == null) { return head; } ListNode lessDummy = new ListNode(0); ListNode less = lessDummy; ListNode greaterDummy = new ListNode(0); ListNode greater = greaterDummy; ListNode equal = head; ListNode curr = head.next; while (curr != null) { if (curr.val < head.val) { less.next = curr; less = less.next; } else if (curr.val > head.val) { greater.next = curr; greater = greater.next; } else { // curr.val == head.val equal.next = curr; equal = equal.next; } curr = curr.next; } less.next = null; greater.next = null; equal.next = null; lessDummy.next = sortList(lessDummy.next); greaterDummy.next = sortList(greaterDummy.next); ListNode dummy = lessDummy; curr = dummy; while (curr.next != null) { curr = curr.next; } curr.next = head; equal.next = greaterDummy.next; return dummy.next;
Tuesday, March 6, 2018
98 Sort List
Subscribe to:
Post Comments (Atom)
4. Ugly Number
1*2(t2) 2*2 3*2 (t3)1*3 2*3 3*3 (t5)1*5 2*5 3*5 1*2 2*2(t2) 3*2 1*3(t3) 2*3 3*3 (t5)1*5 2*5 3*5 Solution: public int nthUglyNumbe...
-
Given a list, rotate the list to the right by k places, where k is non-negative. Wrong solution 1: public ListNode rotateRight(ListNo...
-
if (head == null || head . next == null ) { return head; } ListNode lessDummy = new ListNode (...
-
1*2(t2) 2*2 3*2 (t3)1*3 2*3 3*3 (t5)1*5 2*5 3*5 1*2 2*2(t2) 3*2 1*3(t3) 2*3 3*3 (t5)1*5 2*5 3*5 Solution: public int nthUglyNumbe...
No comments:
Post a Comment