leetcode
来源:互联网 发布:如何申请淘宝小号涮单 编辑:程序博客网 时间:2024/06/06 09:40
Partition List
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
.
Solution1:
public ListNode partition(ListNode head, int x) { if (head == null || head.next == null) { return head; } ListNode root = new ListNode(0); root.next = head; ListNode less = root; ListNode greater = head; ListNode temp; while (greater != null && greater.val < x) { greater = greater.next; less = less.next; } if (greater == null) { return root.next; } while (greater.next != null) { if (greater.next.val < x) { temp = less.next; less.next = greater.next; greater.next = greater.next.next; less = less.next; less.next = temp; } else { greater = greater.next; } } return root.next; }
Solution2:
public ListNode partition(ListNode head, int x) { ListNode less = new ListNode(0); ListNode greater = new ListNode(0); ListNode curr1 = less; ListNode curr2 = greater; while (head != null) { if (head.val < x) { curr1.next = head; curr1 = curr1.next; } else { curr2.next = head; curr2 = curr2.next; } head = head.next; } curr2.next = null; curr1.next = greater.next; return less.next; }
0 0
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- ORACLE 导入总结
- leetcode
- 开源免费的.NET图像即时处理的组件ImageProcessor
- 构造函数和析构函数小结
- iOS web view 加载本地HTML页面不显示问题
- leetcode
- 用Visual Studio Code Debug世界上最好的语言
- 算法练习之 (汉诺塔)
- request与response的用法
- C语言中常用的文件操作函数
- __weak
- HDU 5297 Y sequence
- arguments、callee、call、apply、bind及函数封装和构造函数
- leetcode