leetcode[2196]根据描述创建二叉树(学习优雅解法,哈希+建树+找根,defaultdict+set)

本文介绍了如何根据描述优雅地创建二叉树,通过学习大神的解决方案,利用哈希、深度优先搜索(DFS)以及默认字典(defaultdict)和集合(set)进行解题。该方法适用于LeetCode的题目2196。
摘要由CSDN通过智能技术生成
# 给你一个二维整数数组 descriptions ,其中 descriptions[i] = [parenti, childi, isLefti] 表示 
# parenti 是 childi 在 二叉树 中的 父节点,二叉树中各节点的值 互不相同 。此外: 
# 
#  
#  如果 isLefti == 1 ,那么 childi 就是 parenti 的左子节点。 
#  如果 isLefti == 0 ,那么 childi 就是 parenti 的右子节点。 
#  
# 
#  请你根据 descriptions 的描述来构造二叉树并返回其 根节点 。 
# 
#  测试用例会保证可以构造出 有效 的二叉树。 
# 
#  
# 
#  示例 1: 
# 
#  
# 
#  
# 输入:descriptions = [[20,15,1],[20,17,0],[50,20,1],[50,80,0],[80,19,1]]
# 输出:[50,20,80,15,17,19]
# 解释:根节点是值为 50 的节点,因为它没有父节点。
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值