假设有一个二叉树 结构如下 我们 要求层次打印 输出结果为 a, b, c, d, e, f。那么该如何实现呢?这要借助一个栈结构来实现
代码实现
class TreeNode(object):
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def invert_tree(root):
if not root:
return None
invert_tree(root.left)
invert_tree(root.right)
root.left, root.right = root.right, root.left
return root
def print_tree(root):
node_stack = [root]
while node_stack:
head = node_stack[0]
if head.left:
node_stack.append(head.left)
if head.right:
node_stack.append(head.right)
print head.value
del node_stack[0]
test_root = TreeNode('a')
test_root.left = TreeNode('b')
test_root.right = TreeNode('c')
test_root.left.left = TreeNode('d')
test_root.left.right = TreeNode('e')
test_root.right.right = TreeNode('f')
print_tree(test_root)
二叉树层次遍历
本文介绍了一种使用栈结构实现二叉树层次遍历的方法,并通过具体代码展示了如何实现这一过程。文中还提供了一个简单的例子,帮助读者理解二叉树层次遍历的基本原理。
393

被折叠的 条评论
为什么被折叠?



