-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtree.py
More file actions
28 lines (23 loc) · 694 Bytes
/
tree.py
File metadata and controls
28 lines (23 loc) · 694 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Tree:
def __init__(self):
self.words = None
def get_biggest(self):
if self.words: # leaf
return self
left_biggest = self.left.get_biggest()
right_biggest = self.right.get_biggest()
return left_biggest if len(left_biggest.words) > len(right_biggest.words) else right_biggest
@property
def left(self):
try:
return self._left
except AttributeError:
self._left = Tree()
return self._left
@property
def right(self):
try:
return self._right
except AttributeError:
self._right = Tree()
return self._right