LeetCode 94. 二叉树的中序遍历(递归)(迭代)
程序员文章站
2022-06-17 19:53:06
...
题目描述
给定一个二叉树,返回它的后序遍历
思路
代码
递归
#class TreeNode:
# def __init__(self,x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def inorderTraversal(self,root:TreeNode):
res = []
def helper(root):
if not root:
return
helper(root.left)
res.append(root.val)
helper(root.right)
helper(root)
return res
迭代
#class TreeNode:
# def __init__(self,x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def inorderTraversal(self,root:TreeNode):
res = []
if not root:
return res
stack = []
cur = root
while stack or cur:
while cur:
stack.append(cur)
cur = cur.left
cur = stack.pop()
res.append(cur.val)
cur = cur.right
return res
上一篇: java实现线程通信的几种方式
推荐阅读
-
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
-
[PHP] 算法-根据前序和中序遍历结果重建二叉树的PHP实现
-
【算法】二叉树的前序、中序、后序、层序遍历和还原。
-
PHP基于非递归算法实现先序、中序及后序遍历二叉树操作示例
-
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
-
C++实现LeetCode(105.由先序和中序遍历建立二叉树)
-
LeetCode 426. 将二叉搜索树转化为排序的双向链表(BST中序循环遍历)
-
剑指 Offer 07. 重建二叉树——【前中序】和【中后序】重建二叉树的递归思路详解
-
LeetCode637. 二叉树的层平均值(层序遍历)
-
tree traversal (树的遍历) - 中序遍历 (inorder traversal) - 二叉树的中序遍历