当前位置:网站首页>【二叉树-中等】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]
边栏推荐
- 对修饰器的实验支持功能在将来的版本中可能更改。在 “tsconfig“ 或 “jsconfig“ 中设置 “experimentalDecorators“ 选项以删除此警告
- 用于X射线光学器件的哈特曼波前传感器
- 谷歌翻译器-谷歌翻译器软件批量自动翻译
- 实操|风控模型中常用的这三种预测方法与多分类场景的实现
- Summary of Web Performance Testing Models
- [LeetCode] Find the sum of the numbers from the root node to the leaf node
- 算法与语音对话方向面试题库
- 【内存管理概述 Objective-C语言】
- 翻译工具-翻译工具下载批量自动一键翻译免费
- Screen 拆分屏幕
猜你喜欢
随机推荐
微透镜阵列后光传播的研究
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
跨部门沟通的技巧
【web渗透】SSRF漏洞超详细讲解
如何让数据库中的数据同步
中文NER的SOTA:RICON
[Syntax sugar] About the mapping of category strings to category numeric ids
【论文笔记】基于深度学习的机器人抓取虚拟仿真实验教学系统
mysql -sql编程
算法与语音对话方向面试题库
【wpf】拖拽的简单实现
Web性能测试模型小结
芯片资讯|半导体收入增长预计将放缓至 7%,蓝牙芯片需求依然稳步增长
桌面云组件介绍与安装
openpose脚部标注问题梳理
卷积神经网络识别验证码
【内存管理概述 Objective-C语言】
Open3D 网格均匀采样
小程序开发的报价为什么有差别?需要多少钱?
RESOURCE_EXHAUSTED: etcdserver: mvcc: database space exceeded