[leetcode]145. Binary Tree Postorder Traversal@Java解题报告

来源:互联网 发布:圆方软件论坛 编辑:程序博客网 时间:2024/05/19 16:07

https://leetcode.com/problems/binary-tree-postorder-traversal/description/


Given a binary tree, return the postorder traversal of its nodes' values.

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?




package go.jacob.day810;import java.util.LinkedList;import java.util.List;import java.util.Stack;/** * 145. Binary Tree Postorder Traversal *  * @author Jacob * */public class Demo3 {public List<Integer> postorderTraversal(TreeNode root) {//用linkedList中addFirst方法比ArrayLisy效率更高LinkedList<Integer> res = new LinkedList<Integer>();Stack<TreeNode> stack1 = new Stack<TreeNode>();TreeNode node = root;while (!stack1.isEmpty() || node != null) {if (node == null) {node = stack1.pop();node = node.left;} else {stack1.push(node);res.addFirst(node.val);node = node.right;}}return res;}}


阅读全文
0 0
原创粉丝点击