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