LeetCode 145 Binary Tree Postorder Traversal
2015-03-25 06:54
429 查看
Given a binary tree, return the postorder traversal of its nodes' values.
For example:
Given binary tree
return
Note: Recursive solution is trivial, could you do it iteratively?
# Definition for a binary tree node
# class TreeNode
# attr_accessor :val, :left, :right
# def initialize(val)
# @val = val
# @left, @right = nil, nil
# end
# end
# @param {TreeNode} root
# @return {Integer[]}
def postorder_traversal(root)
stack = [[false, root]]
ans = []
while not stack.empty?
f, n = stack.pop()
if n
if not f
stack << [true, n] << [false, n.right] << [false, n.left]
else
ans << n.val
end
end
end
ans
end
For example:
Given binary tree
{1,#,2,3},
1 \ 2 / 3
return
[3,2,1].
Note: Recursive solution is trivial, could you do it iteratively?
# Definition for a binary tree node
# class TreeNode
# attr_accessor :val, :left, :right
# def initialize(val)
# @val = val
# @left, @right = nil, nil
# end
# end
# @param {TreeNode} root
# @return {Integer[]}
def postorder_traversal(root)
stack = [[false, root]]
ans = []
while not stack.empty?
f, n = stack.pop()
if n
if not f
stack << [true, n] << [false, n.right] << [false, n.left]
else
ans << n.val
end
end
end
ans
end
相关文章推荐
- Binary Tree Postorder Traversal - LeetCode 145
- LeetCode 145: Binary Tree Postorder Traversal
- Leetcode 145 Binary Tree Postorder Traversal
- LeetCode No145 Binary Tree Postorder Traversal
- LeetCode 145 Binary Tree Postorder Traversal
- leetcode 145 Binary Tree Postorder Traversal C++
- Leetcode145——Binary Tree Postorder Traversal
- LeetCode145:Binary Tree Postorder Traversal
- LeetCode 145:Binary Tree Postorder Traversal
- LeetCode 145 Binary Tree Postorder Traversal
- 【LeetCode-面试算法经典-Java实现】【145-Binary Tree Postorder Traversal(二叉树非递归后序遍历)】
- [LeetCode]145 Binary Tree Postorder Traversal
- leetcode[145] Binary Tree Postorder Traversal
- LeetCode(145)Binary Tree Postorder Traversal
- leetcode(145):Binary Tree Postorder Traversal
- [LeetCode145]Binary Tree Postorder Traversal
- LeetCode 145:Binary Tree Postorder Traversal(后序遍历)
- LeetCode_145 Binary Tree Postorder Traversal
- LeetCode 145 Binary Tree Postorder Traversal
- 【LeetCode-面试算法经典-Java实现】【145-Binary Tree Postorder Traversal(二叉树非递归后序遍历)】