当前位置:网站首页>Xiaohei leetcode surfing: 94. Inorder traversal of binary tree
Xiaohei leetcode surfing: 94. Inorder traversal of binary tree
2022-08-04 23:19:00 【little black invincible】
小黑答案:递归
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
arr = []
if not root:
return arr
def mid_root(node):
if node:
mid_root(node.left)
arr.append(node.val)
mid_root(node.right)
mid_root(root)
return arr
小黑答案:非递归
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
arr = []
if not root:
return arr
q = []
node = root
# Push all the children of the root node onto the stack
while node:
q.append(node)
node = node.left
while q:
# 结点出栈
node = q.pop()
# 打印
arr.append(node.val)
# Begin to facilitate the right child
temp = node.right
while temp:
q.append(temp)
temp = temp.left
return arr
迭代法
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
arr = []
if not root:
return arr
q = []
node = root
while node or q:
while node:
q.append(node)
node = node.left
node = q.pop()
arr.append(node.val)
# turn right
node = node.right
return arr
方法三:Morris 中序遍历 未来实现
边栏推荐
- [Cultivation of internal skills of string functions] strcpy + strcat + strcmp (1)
- Laravel 实现redis分布式锁
- uniapp动态实现滑动导航效果demo(整理)
- Community Sharing|Tencent Overseas Games builds game security operation capabilities based on JumpServer
- 2022年全网最全接口自动化测试框架搭建,没有之一
- NebulaGraph v3.2.0 Release Note,对查询最短路径的性能等多处优化
- 【3D建模制作技巧分享】ZBrush如何重新拓扑
- Implementing class target method exception using proxy object execution
- CS8416国产替代DP8416 数字音频接收器
- PHP(3)
猜你喜欢
随机推荐
加解密在线工具和进制转化在线工具
Acwing3593. 统计单词
Pytest learning - fixtures
【游戏建模模型制作全流程】ZBrush蜥蜴模型雕刻教程
truffle
[QNX Hypervisor 2.2用户手册]10.6 vdev mc146818
2022/8/3
The Controller layer code is written like this, concise and elegant!
使用代理对象执行实现类目标方法异常
深度|医疗行业勒索病毒防治解决方案
现在学习次世代3D游戏建模还能找到高薪好工作吗
直接插入排序
应用联合、体系化推进。集团型化工企业数字化转型路径
@Async注解的作用以及如何实现异步监听机制
PZK学C语言之字符串函数(一)
Ab3d.PowerToys and Ab3d.DXEngine Crack
Web安全开发 | 青训营笔记
App测试和Web测试的区别
MySQL的JSON 数据类型1
一点点读懂cpufreq(一)