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 if(root == null){ return new int[0]; }
    Stack<TreeNode> stack =  new Stack<>();
    ArrayList<Integer> arrayList = new ArrayList<>();
    while(root != null || !stack.isEmpty()){
        if(root != null){
            stack.push(root);
            root = root.left;
        }else{
            root = stack.pop();
            arrayList.add(root.val);
            root = root.right;
        }
    }
    
    int len = arrayList.size();
    int[] arr = new int[len];
    Object[] object =  arrayList.toArray();
    for(int i=0;i<len;i++){
        arr[i] = (int)object[i];
    }
    
    return arr;
}
}



京公网安备 11010502036488号