时间:2020-7-21
题目地址:力扣
题目难度:Medium
题目描述:
给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,3,2]
进阶: 递归算法很简单,你可以通过迭代算法完成吗?
思路1:大佬自创的颜色标记法
代码段1:通过
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]:
white, gray = 0, 1
res = []
stack = [(white, root)]
while stack:
color, node = stack.pop()
if node == None: continue
if color == white:
stack.append((white, node.right))
stack.append((gray, node))
stack.append((white, node.left))
else:
res.append(node.val)
return res
总结:
2022-3-12
递归还是没能写出来,加油