当前位置:网站首页>小黑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 中序遍历 未来实现
边栏推荐
猜你喜欢
随机推荐
自从新来了个字节20K出来的,就见识到了什么是天花板
go语言的日志实现(打印日志、日志写入文件、日志切割)
407. 接雨水 II
Since a new byte of 20K came out, I have seen what the ceiling is
typeScript-部分应用函数
npm基本操作及命令详解
亿流量大考(3):不加机器,如何抗住每天百亿级高并发流量?
线性DP(下)
Will we still need browsers in the future?(feat. Maple words Maple language)
Community Sharing|Tencent Overseas Games builds game security operation capabilities based on JumpServer
go语言的time包介绍
请你说一下final关键字以及static关键字
文献阅读十——Detect Rumors on Twitter by Promoting Information Campaigns with Generative Adversarial Learn
文章占位 文章占位
2022七夕程序员必备的表白黑科技(七夕限定款)
[QNX Hypervisor 2.2用户手册]10.5 vdev ioapic
Pytorch分布式训练/多卡/多GPU训练DDP的torch.distributed.launch和torchrun
To Offer | 03. Repeat Numbers in the array
2022/8/3
PAN3020 Sub-1G无线收发芯片









