当前位置:网站首页>小黑leetcode冲浪:94. 二叉树的中序遍历
小黑leetcode冲浪:94. 二叉树的中序遍历
2022-08-04 23:13:00 【小黑无敌】
小黑答案:递归
# 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
# 将根结点所有做孩子入栈
while node:
q.append(node)
node = node.left
while q:
# 结点出栈
node = q.pop()
# 打印
arr.append(node.val)
# 开始便利右侧孩子
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)
# 拐向右面
node = node.right
return arr

方法三:Morris 中序遍历 未来实现
边栏推荐
猜你喜欢

2022七夕程序员必备的表白黑科技(七夕限定款)

MySQL基础篇【子查询】

enumerate()函数

基于内容的图像检索系统设计与实现--颜色信息--纹理信息--形状信息--PHASH--SHFT特征点的综合检测项目,包含简易版与完整版的源码及数据!

go语言的日志实现(打印日志、日志写入文件、日志切割)

被领导拒绝涨薪申请,跳槽后怒涨9.5K,这是我的心路历程
![[Cultivation of internal skills of string functions] strlen + strstr + strtok + strerror (3)](/img/96/946bbef52bd017ac6142c6b7485a86.png)
[Cultivation of internal skills of string functions] strlen + strstr + strtok + strerror (3)

MySQL的JSON 数据类型1

I was rejected by the leader for a salary increase, and my anger rose by 9.5K after switching jobs. This is my mental journey

堪称奔驰“理财产品”,空间媲美宝马X5,采用了非常运动的外观
随机推荐
Go 语言快速入门指南:什么是 TSL 安全传输层
现在学习次世代3D游戏建模还能找到高薪好工作吗
【字符串函数内功修炼】strlen + strstr + strtok + strerror(三)
直接插入排序
未来我们还需要浏览器吗?(feat. 枫言枫语)
一点点读懂cpufreq(二)
3D建模师为了让甲方爸爸过稿,还可以这么做,就是在赚血汗钱啊
Jbpm3.2 开发HelloWorld (简单请假流程)客户端
【字符串函数内功修炼】strncpy + strncat + strncmp(二)
[Cultivation of internal skills of string functions] strlen + strstr + strtok + strerror (3)
407. 接雨水 II
One trick to cure pycharm DEBUG error UnicodeDecodeError: 'utf-8' codec can't decode
Vscode连接远程服务器(一套配置成功)
学生管理系统架构设计
【3D建模制作技巧分享】ZBrush如何重新拓扑
年薪50W+的测试工程师都在用这个:Jmeter 脚本开发之——扩展函数
MySQL基础篇【聚合函数】
d枚举生成位
Laravel 实现redis分布式锁
仪表板展示 | DataEase看中国:数据呈现中国资本市场