Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 56d52e4

Browse files
python: add problem 86 and unittest
1 parent 77266ba commit 56d52e4

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

Python/sln_1_100/solution_81_90.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# -*- coding: utf-8 -*-
2+
from common_utils import ListNode
3+
4+
5+
class Solution_81_90(object):
6+
def partition(self, head: ListNode, x: int) -> ListNode:
7+
"""
8+
86
9+
:param head:
10+
:param x:
11+
:return:
12+
"""
13+
if not head:
14+
return head
15+
less_head = less_node = None
16+
equal_more_than_head = equal_more_than_node = None
17+
node = head
18+
while node:
19+
val = node.val
20+
if val < x:
21+
if less_head is None:
22+
less_head = less_node = ListNode(val)
23+
else:
24+
less_node.next = ListNode(val)
25+
less_node = less_node.next
26+
else:
27+
if equal_more_than_head is None:
28+
equal_more_than_head = equal_more_than_node = ListNode(val)
29+
else:
30+
equal_more_than_node.next = ListNode(val)
31+
equal_more_than_node = equal_more_than_node.next
32+
node = node.next
33+
34+
if less_head is None:
35+
new_head = equal_more_than_head
36+
else:
37+
less_node.next = equal_more_than_head
38+
new_head = less_head
39+
return new_head
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# -*- coding: utf-8 -*-
2+
from unittest import TestCase
3+
from sln_1_100.solution_81_90 import *
4+
from common_utils import *
5+
6+
class Test_Solution_81_90(TestCase):
7+
def setUp(self) -> None:
8+
self.sln = Solution_81_90()
9+
10+
11+
12+
def test_partition(self):
13+
head = build_linked_list([1,4,3,2,5,2])
14+
ret = self.sln.partition(head,3)
15+
print_linked_list(ret)

0 commit comments

Comments
 (0)