热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java二维数组分别按照二叉树先序\中序\后序打印所有的节点输出

题目描述分别按照二叉树先序,中序和后序打印所有的节点。示例1输入{1,2,3}输出[[1,2,3],[2,1,3],[2,3,1]]importjava.util.*

题目描述

分别按照二叉树先序,中序和后序打印所有的节点。

示例1

输入

{1,2,3}

输出

[[1,2,3],[2,1,3],[2,3,1]]

 

import java.util.*;/** public class TreeNode {* int val = 0;* TreeNode left = null;* TreeNode right = null;* }*/public class Solution {private int preIndex = 0;private int midIndex = 0;private int lastIndex = 0;/*** * @param root TreeNode类 the root of binary tree* @return int整型二维数组*/public int[][] threeOrders (TreeNode root) {int treeNodesNum = getTotalTreeNodeNum(root);//因为就前、中、后 输出 所以就相当于{{前},{中},{后}}//treeNodesNum 算出整棵树的节点个数int[][] result = new int[3][treeNodesNum];pre(root,result);mid(root,result);last(root,result);return result;}public int getTotalTreeNodeNum(TreeNode root){if(root == null){return 0;}return 1 + getTotalTreeNodeNum(root.left) + getTotalTreeNodeNum(root.right);}public void pre(TreeNode root,int[][] result){if(root == null){return;}result[0][preIndex++] = root.val;pre(root.left,result);pre(root.right,result);}public void mid(TreeNode root,int[][] result){if(root == null){return;}mid(root.left,result);result[1][midIndex++] = root.val;mid(root.right,result);}public void last(TreeNode root,int[][] result){if(root == null){return;}last(root.left,result);last(root.right,result);result[2][lastIndex++] = root.val; }
}

 


推荐阅读
author-avatar
拐久了_618
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有