题解 | #实现二叉树先序,中序和后序遍历#

实现二叉树先序,中序和后序遍历

http://www.nowcoder.com/practice/a9fec6c46a684ad5a3abd4e365a9d362

import java.util.*;

/*

  • public class TreeNode {
  • int val = 0;
  • TreeNode left = null;
  • TreeNode right = null;
  • } */

public class Solution { /** * * @param root TreeNode类 the root of binary tree * @return int整型二维数组 */ public int[][] threeOrders (TreeNode root) { // write code here ArrayList pre=new ArrayList<>(); ArrayList mid=new ArrayList<>(); ArrayList post=new ArrayList<>(); preOrder(root,pre); midOrder(root,mid); postOrder(root,post); int[][] res=new int[3][pre.size()]; for(int i=0;i<pre.size();i++){ res[0][i]=pre.get(i); res[1][i]=mid.get(i); res[2][i]=post.get(i); } return res; } public void preOrder(TreeNode root,ArrayList pre){ if(root==null){ return; } pre.add(root.val); preOrder(root.left,pre); preOrder(root.right,pre); } public void midOrder(TreeNode root,ArrayList mid){ if(root==null){ return; } midOrder(root.left,mid); mid.add(root.val); midOrder(root.right,mid); } public void postOrder(TreeNode root,ArrayList post){ if(root==null){ return; } postOrder(root.left,post); postOrder(root.right,post); post.add(root.val); } }//将三次遍历的结果存放在三个列表中,而后再将结果存入二维数组;

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务