测试用二叉树生成代码

来源:互联网 发布:东莞人工智能公司 编辑:程序博客网 时间:2024/05/19 13:05

在005里给的任务

能用就行啦。
尝试以后加入单元测试模块

class TreeNode(object):    def __init__(self, val):        self.val = val        self.left = None        self.right= Nonedef generateTree(dList = []):    if dList == []:        return None    root = TreeNode(dList[0])    queue = [root]    counter = 1    for node_parent in queue:        # 左侧节点        if counter < len(dList):            if dList[counter] != None:                node_left = TreeNode(dList[counter])                queue.append(node_left)            else:                node_left = None        else:            node_left = None        counter += 1        # 右侧节点        if counter < len(dList):            if dList[counter] != None:                node_right = TreeNode(dList[counter])                queue.append(node_right)            else:                node_right = None        else:            node_right = None        counter += 1        node_parent.left = node_left        node_parent.right = node_right    return rootdef bfs(root):    queue = [root]    # 直接用in遍历列表就可以实现队列的效果    for i in queue:        if i.left != None:            queue.append(i.left)        if i.right!= None:            queue.append(i.right)    return queue
0 0
原创粉丝点击