Merge pull request #2733 from shengyufan/master

更新0110平衡二叉树Python3迭代法精简版代码
This commit is contained in:
程序员Carl
2024-09-24 10:07:53 +08:00
committed by GitHub

View File

@ -609,10 +609,13 @@ class Solution:
while stack: while stack:
node = stack.pop() node = stack.pop()
if node: if node:
stack.append(node) stack.append(node) # 中
stack.append(None) 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: else:
real_node = stack.pop() real_node = stack.pop()
left, right = height_map.get(real_node.left, 0), height_map.get(real_node.right, 0) left, right = height_map.get(real_node.left, 0), height_map.get(real_node.right, 0)