{leetcode}/problems/binary-tree-postorder-traversal/[LeetCode - Binary Tree Postorder Traversal^]
Given a binary tree, return the postorder traversal of its nodes' values.
Example:
Input:[1,null,2,3]
1 \ 2 / 3 Output:[3,2,1]
Follow up: Recursive solution is trivial, could you do it iteratively?
这个题有些麻烦。
我的解法是使用 Stack
和 Set
(保存处理过子节点,直接弹出,不再处理)。
还可以使用两个 Stack
。
甚至一个 Stack
。
link:{sourcedir}/_0145_BinaryTreePostorderTraversal.java[role=include]
link:{sourcedir}/_0145_BinaryTreePostorderTraversal_Recur.java[role=include]
-
如何使用一个栈来解决这个问题?
-
对比一下前根遍历和后跟遍历的区别。 参考: 145. 二叉树的后序遍历。