File tree Expand file tree Collapse file tree 1 file changed +7
-9
lines changed
Python/chapter02/2.1 - Remove Dups Expand file tree Collapse file tree 1 file changed +7
-9
lines changed Original file line number Diff line number Diff line change @@ -17,12 +17,11 @@ def __init__(self, d: int):
17
17
18
18
19
19
class LinkedList :
20
- def __init__ (self , initial_value : int = None ):
20
+ def __init__ (self , * numbers : int ):
21
21
self .head = None
22
22
self .tail = None
23
- if initial_value is not None :
24
- self .head = Node (initial_value )
25
- self .tail = self .head
23
+ for num in numbers :
24
+ self .append_to_tail (num )
26
25
27
26
def append_to_tail (self , d : int ) -> None :
28
27
if self .head is None :
@@ -52,7 +51,9 @@ def __str__(self):
52
51
ll .append (str (n .data ))
53
52
return '' .join (ll )
54
53
55
- def __eq__ (self , other ):
54
+ def __eq__ (self , other : object ):
55
+ if not isinstance (other , LinkedList ):
56
+ return NotImplemented
56
57
a = self .head
57
58
b = other .head
58
59
while a is not None and b is not None :
@@ -65,10 +66,7 @@ def __eq__(self, other):
65
66
66
67
67
68
def build_linked_list (numbers : List [int ]) -> LinkedList :
68
- ll = LinkedList ()
69
- for num in numbers :
70
- ll .append_to_tail (num )
71
- return ll
69
+ return LinkedList (* numbers )
72
70
73
71
74
72
def remove_dups (ll : LinkedList ) -> LinkedList :
You can’t perform that action at this time.
0 commit comments