Skip to content

Commit b9d75b7

Browse files
refactor 86
1 parent d75a826 commit b9d75b7

File tree

2 files changed

+22
-21
lines changed

2 files changed

+22
-21
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,7 @@ Your ideas/fixes/algorithms are more than welcome!
603603
|89|[Gray Code](https://leetcode.com/problems/gray-code/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_89.java)|O(n) |O(1)||Medium|Bit Manipulation
604604
|88|[Merge Sorted Array](https://leetcode.com/problems/merge-sorted-array/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_88.java)|O(max(m,n)) |O(1)||Easy|
605605
|87|[Scramble String](https://leetcode.com/problems/scramble-string/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_87.java)|O(?) |O(?)||Hard| Recursion
606-
|86|[Partition List](https://leetcode.com/problems/partition-list/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_86.java)|O(n) |O(1)||Medium|
606+
|86|[Partition List](https://leetcode.com/problems/partition-list/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_86.java)|O(n) |O(1)||Medium| Linked List
607607
|85|[Maximal Rectangle](https://leetcode.com/problems/maximal-rectangle/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_85.java)|O(m*n) |O(n)||Hard|DP
608608
|84|[Largest Rectangle in Histogram](https://leetcode.com/problems/largest-rectangle-in-histogram/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_84.java)|O(n) |O(n)||Hard|Array, Stack
609609
|83|[Remove Duplicates from Sorted List](https://leetcode.com/problems/remove-duplicates-from-sorted-list/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_83.java)|O(n) |O(1)||Easy| Linked List

src/main/java/com/fishercoder/solutions/_86.java

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,28 @@
1515
*/
1616
public class _86 {
1717

18+
public static class Solution1 {
1819
public ListNode partition(ListNode head, int x) {
19-
if (head == null || head.next == null) {
20-
return head;
20+
if (head == null || head.next == null) {
21+
return head;
22+
}
23+
ListNode left = new ListNode(0);
24+
ListNode right = new ListNode(0);
25+
ListNode less = left;
26+
ListNode greater = right;
27+
while (head != null) {
28+
if (head.val < x) {
29+
less.next = head;
30+
less = less.next;
31+
} else {
32+
greater.next = head;
33+
greater = greater.next;
2134
}
22-
ListNode left = new ListNode(0);
23-
ListNode right = new ListNode(0);
24-
ListNode less = left;
25-
ListNode greater = right;
26-
while (head != null) {
27-
if (head.val < x) {
28-
less.next = head;
29-
less = less.next;
30-
} else {
31-
greater.next = head;
32-
greater = greater.next;
33-
}
34-
head = head.next;
35-
}
36-
greater.next = null;
37-
less.next = right.next;
38-
return left.next;
35+
head = head.next;
36+
}
37+
greater.next = null;
38+
less.next = right.next;
39+
return left.next;
3940
}
40-
41+
}
4142
}

0 commit comments

Comments
 (0)