【Leetcode刷题Python】从列表list中创建一颗二叉树

简介: 本文介绍了如何使用Python递归函数从列表中创建二叉树,其中每个节点的左右子节点索引分别是当前节点索引的2倍加1和2倍加2。

1 思路

使用递归创建二叉树,每个节点最多有两个子节点,以索引去从列表中取子节点的值,i为根节点,左子节点的值为2×i+1,右子节点的值为2×i+2。

2 python实现

class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
def createTree(root,rt,i):
    if i <len(rt):
        if not rt[i]:
            return None
        else:
            root = TreeNode(rt[i])
            root.left =  createTree(root.left,rt,2*i+1)
            root.right = createTree(root.right,rt,2*i+2)
            return root
    return root 

root_list = [3,9,20,None,None,15,7]
root = TreeNode(-1)
root = createTree(root,root_list,0)
目录
相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
170 1
|
2月前
|
开发者 Python
Python列表推导式:优雅与效率的完美结合
Python列表推导式:优雅与效率的完美结合
384 116
|
2月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
405 119
|
3月前
|
缓存 监控 数据可视化
微店item_search - 根据关键词取商品列表深度分析及 Python 实现
微店item_search接口可根据关键词搜索商品,返回商品信息、价格、销量等数据,适用于电商检索、竞品分析及市场调研。接口需通过appkey与access_token认证,支持分页与排序功能,Python示例代码实现调用流程,助力商品数据高效获取与分析。
|
2月前
|
开发者 Python
Python列表推导式:优雅与效率的完美融合
Python列表推导式:优雅与效率的完美融合
319 104
|
2月前
|
Python
Python列表推导式:优雅与效率的艺术
Python列表推导式:优雅与效率的艺术
261 99
|
2月前
|
数据处理 Python
解锁Python列表推导式:优雅与效率的完美融合
解锁Python列表推导式:优雅与效率的完美融合
265 99
|
2月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
389 95
|
3月前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
437 99
|
3月前
|
程序员 Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
280 99

热门文章

最新文章

推荐镜像

更多