思路:
二叉树的中序非递归遍历和前序非递归遍历类似。
代码如下:
import java.util.*;
public class Solution {
public ArrayList<Integer> inorderTraversal(TreeNode root) {
ArrayList<Integer> array=new ArrayList();
Stack<TreeNode> stack=new Stack();
if(root == null)
return array;
TreeNode node=root;
while(node!=null||!stack.empty())
{
while(node!=null)
{
stack.push(node);
node=node.left;
}
if(node == null&&!stack.empty())
{
TreeNode temp=stack.pop();
array.add(temp.val);
node=temp.right;
}
}
return array;
}
}