Python实现与LeetCode--树
Python实现
二叉树:
# @Time : 2019/7/2 10:50
# @Author : panky_pan
# @File : Binary_Tree.py
# @Software: PyCharm
class BinaryTree(object):
def __init__(self, root):
self.key = root
self.left_child = None
self.right_child = None
def insert_left(self, item):
new_node = BinaryTree(item)
if self.left_child is None:
self.left_child = new_node
else:
new_node.left_child = self.left_child
self.left_child = new_node
def insert_right(self, item):
new_node = BinaryTree(item)
if self.right_child is None:
self.right_child = new_node
else:
new_node.right_child = self.right_child
self.right_child = new_node
def get_left_child(self):
return self.left_child
def get_right_child(self):
return self.right_child
def get_root_val(self):
return self.key
if __name__ == "__main__":
bt = BinaryTree('a')
bt.insert_left('b')
bt.insert_right('c')
print(bt.get_root_val())
print(bt.get_left_child())
print(bt.get_left_child().get_root_val())
print(bt.get_right_child())
print(bt.get_right_child().get_root_val())