题解 | #二叉树的中序遍历#

二叉树的中序遍历

http://www.nowcoder.com/practice/0bf071c135e64ee2a027783b80bf781d

import java.util.*;

/*

  • public class TreeNode {

  • int val = 0;

  • TreeNode left = null;

  • TreeNode right = null;

  • public TreeNode(int val) {

  • this.val = val;
    
  • }

  • } */

public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型一维数组 */ public int[] inorderTraversal (TreeNode root) { // write code here

    //中序遍历  遵循左--->根--->右
    //创建一个集合来存储遍历的结点值
    List<Integer> list = new ArrayList<>();
    zx(list,root);

    int[] arr = new int[list.size()];
    
    
    for(int i = 0;i<arr.length;i++){
        //将集合中的元素转存到数组中                                                
        arr[i] = list.get(i);
    }
    return arr;
}
private void zx(List<Integer> list,TreeNode root){
    //递归到底情况
    if(root==null){
        return;
    }
   //遍历左树
    zx(list,root.left);
	//存入结点
    list.add(root.val);
	//遍历右树
    zx(list,root.right);
}

}

全部评论

相关推荐

11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
威猛的小饼干正在背八股:挂到根本不想整理
点赞 评论 收藏
分享
评论
4
收藏
分享
牛客网
牛客企业服务