当前位置:网站首页>【二叉树-中等】1104. 二叉树寻路
【二叉树-中等】1104. 二叉树寻路
2022-08-10 01:52:00 【菜菜2022】
【题目】
【代码】
class Solution:
def pathInZigZagTree(self, label: int) -> List[int]:
parents=[]
levels=[]
def levelVisit(label):
nonlocal levels
for level_id in range(1,1001):
level=[pow(2,level_id)+i for i in range(pow(2,level_id))]
levels.append(level)
if label in level:
break
levels=levels[::-1]
# print(levels)
for idx,level in enumerate(levels):
parents.append(label)
if label not in levels[idx]:
break
cur_pos=levels[idx].index(label)//2
# print("idx:",idx," cur_pos:",cur_pos)
if idx!=len(levels)-1:
label=levels[idx+1][len(levels[idx+1])-1-cur_pos]
if label==1:
return [1]
levelVisit(label)
parents.append(1)
# print(parents)
return parents[::-1]
【方法2】来自麦麦麦麦子。的题解

class Solution:
def pathInZigZagTree(self, label: int) -> List[int]:
res = []
while label != 1:
res.append(label)
label >>= 1
label = label ^(1 << (label.bit_length() - 1)) - 1
return [1]+res[::-1]
边栏推荐
猜你喜欢
随机推荐
Unity顶点动画
3dmax如何制作模型走路动画
空间复杂度为O(1)的归并排序
在蓝图中给组件动态加子Actor组件
【论文粗读】(NeurIPS 2020) SwAV:对比聚类结果的无监督视觉特征学习
组件的使用
【web渗透】SSRF漏洞超详细讲解
宝塔服务器PHP+mysql网页URL跳转问题
微透镜阵列后光传播的研究
color socks problem
Under pressure, there must be cowards
FusionConpute虚拟机的发放与管理
OpenSSF的开源软件风险评估工具:Scorecards
UXDB现在支持函数索引吗?
Initial attempt at UI traversal
RESOURCE_EXHAUSTED: etcdserver: mvcc: database space exceeded
The shell specifies the parameter name to pass the parameter
sqlmap dolog外带数据
【引用计数器及学习MRC的理由 Objective-C语言】
FusionCompute产品介绍









![[LeetCode] Find the sum of the numbers from the root node to the leaf node](/img/1c/6c627e17a60f424601226504f4ff36.png)