广州一起做网店属于什么网站,住建培训平台,网站备案与域名关系,米绘花型设计师服务平台给定一个二叉树#xff0c;返回它的 后序 遍历。
示例:
输入: [1,null,2,3] 1 \ 2 / 3
输出: [3,2,1]
代码#xff1a;
迭代#xff1a;
从根节点开始依次迭代#xff0c;弹出栈顶元素输出到输出列表中#xff0c;然后依次压入它的所有孩子节…给定一个二叉树返回它的 后序 遍历。
示例:
输入: [1,null,2,3] 1 \ 2 / 3
输出: [3,2,1]
代码
迭代
从根节点开始依次迭代弹出栈顶元素输出到输出列表中然后依次压入它的所有孩子节点按照从上到下、从左至右的顺序依次压入栈中。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val x; } * } */
class Solution { public ListInteger postorderTraversal(TreeNode root) { ListInteger result new LinkedList(); StackTreeNode stack new Stack(); if(rootnull){ return result; } stack.add(root); while(!stack.isEmpty()){ TreeNode temp stack.pop(); result.add(0,temp.val); if(temp.left!null){ stack.add(temp.left); } if(temp.right!null){ stack.add(temp.right); } } return result; }
} 递归
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val x; } * } */
class Solution { ListInteger result new LinkedList(); public ListInteger postorderTraversal(TreeNode root) { if(rootnull){ return result; } helper(root); return result; } public void helper(TreeNode root){ if(rootnull){ return; } helper(root.left); helper(root.right); result.add(root.val); }
}