Python面试之python实现二叉树代码

Python实现二叉树代码

class TreeNode:
    def __init__(self,data=None):
        self.data=data
        self.left=None
        self.right=None

#[1,2,3,4,5,6]
def arr_to_tree(low,high,arr):
    root=None
    if high>=low:
        root=TreeNode()
        mid=(low+high)//2
        root.data=arr[mid]
        root.left=arr_to_tree(low,mid-1,arr)
        root.right=arr_to_tree(mid+1,high,arr)
    return root

def printTree(tree):
    if tree==None:
        return
    if tree.left!=None:
        printTree(tree.left)
    print(tree.data)
    if tree.right!=None:
        printTree(tree.right)

if __name__ == '__main__':
    arr=[1,2,3,4,5,6,7,8,9]
    tree=arr_to_tree(0,len(arr)-1,arr)
    printTree(tree)
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发
程序员吾非同的头像-程序员知识精选

昵称

取消
昵称表情代码图片