前言:
此刻同学们对“后序遍历输出二叉树”大概比较关怀,看官们都想要知道一些“后序遍历输出二叉树”的相关内容。那么小编同时在网摘上搜集了一些关于“后序遍历输出二叉树””的相关文章,希望兄弟们能喜欢,咱们快快来学习一下吧!输出下图的二叉树的后序遍历结果
解题思路:
后续遍历是先访问根节点的左子树,然后访问右子树,最后访问根节点。依然使用递归处理,和前序中序逻辑一样,只是改变访问节点的顺序即可。
代码片段:
public static void main(String[] args) { // 以0作为分隔,数字0表示空节点 int[] arr = new int[]{1, 2, 0, 3, 4, 0, 0, 0, 5, 6, 0, 0, 7, 8, 9, 0, 0, 0, 0}; TreeNode binaryTree = createBinaryTree(arr); List<Integer> list = preorderTraversal(binaryTree); System.out.println(JSON.toJSONString(list));}public static List<Integer> preorderTraversal(TreeNode root) { List<Integer> res = new ArrayList<>(); preorder(root, res); return res;}public static void preorder(TreeNode root, List<Integer> res) { if (root == null) { return; } preorder(root.leftChild, res); preorder(root.rightChild, res); res.add(root.data);}
本地执行结果:
LeetCode执行结果:
每天一道算法题,欢迎大佬沟通指正~
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #后序遍历输出二叉树