Skip to content

Instantly share code, notes, and snippets.

@slchangtw
Created January 6, 2019 04:06
Show Gist options
  • Save slchangtw/65e601743a100a4cd28e3f25dcaf9b2d to your computer and use it in GitHub Desktop.
Save slchangtw/65e601743a100a4cd28e3f25dcaf9b2d to your computer and use it in GitHub Desktop.
class BinaryTree:
def __init__(self, root_val):
self.root = root_val
self.left = None
self.right = None
def insert_left(self, node):
if self.left is None:
self.left = BinaryTree(node)
else:
t = BinaryTree(node)
t.left = self.left
self.left = t
def insert_right(self, node):
if self.right is None:
self.right = BinaryTree(node)
else:
t = BinaryTree(node)
t.right = self.right
self.right = t
def set_root_val(self, val):
self.root = val
def get_root_val(self):
return self.root
def get_left_child(self):
return self.left
def get_right_child(self):
return self.right
def __str__(self, level=0):
s = '\t'*level + str(self.root) + '\n'
if self.left is not None:
s += self.left.__str__(level+1)
else:
s += '\t'*(level+1) + 'None\n'
if self.right is not None:
s += self.right.__str__(level+1)
else:
s += '\t'*(level+1) + 'None\n'
return s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment