树——二叉树的中序遍历(非递归)

思路:

二叉树的中序非递归遍历和前序非递归遍历类似。


代码如下:

/**
 * Definition for binary tree
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
import java.util.*;
public class Solution {
    private ArrayList<Integer> array=new ArrayList();
    public ArrayList<Integer> InorderTraversal(TreeNode root) {
            Stack <TreeNode> stack=new Stack();
            TreeNode node=root;
        while(node!=null||!stack.empty())
         {
            while(node!=null)
                {
                stack.push(node);
                node=node.next;
            }
            if(node == null&&!stack.empty())
                {
                node=stack.pop();
                array.push(node);
                node=node.right;
            }
        }
        return array;
    }
}


你可能感兴趣的:(二叉树,遍历,非递归,中序)