是否存在这种情况为真的二叉树?
我不这么认为,除非二叉树只包含一个根节点。
你是对的:假设根节点至少有一个孩子。
在前序遍历中,首先处理根节点。孩子跟着它。这在伪代码中很容易看出:
preorder(node)
if node == null then return
print node.value
preorder(node.left)
preorder(node.right)
在后序遍历中,根节点是最后被处理的,子节点是最先处理的;再次查看代码:
postorder(node)
if node == null then return
postorder(node.left)
postorder(node.right)
print node.value
(来自维基百科的伪代码)。
总之,如果二叉树有多个节点,则遍历必然不同。