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.
This is another problem that seems straightforward at first glance, but it's fraught with pitfalls in practice. I've noticed that many linked list problems are like this.
/** * Definition for singly-linked list. * public class ListNode { * int val; while(head !=null){ if(head.val This siteOriginal articleAll follow "Attribution-NonCommercial-ShareAlike 4.0 License (CC BY-NC-SA 4.0)Please retain the following annotations when sharing or adapting:
Original author:Jake Tao,source:「LeetCode – 86. Partition List」