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);
}

}