更新0110平衡二叉树Python3迭代法精简版代码

This commit is contained in:
Yufan SHENG
2024-09-13 14:28:49 +10:00
parent c99848a612
commit d6cd5e0cef

View File

@ -609,10 +609,13 @@ class Solution:
while stack:
node = stack.pop()
if node:
stack.append(node)
stack.append(node) # 中
stack.append(None)
if node.left: stack.append(node.left)
if node.right: stack.append(node.right)
# 采用数组进行迭代,先将右子树加入,保证左节点能够先出栈
if node.right: # 右
stack.append(node.right)
if node.left: # 左
stack.append(node.left)
else:
real_node = stack.pop()
left, right = height_map.get(real_node.left, 0), height_map.get(real_node.right, 0)