如何在不使用队列的情况下以相反的顺序遍历二叉树

时间:2015-06-02 09:46:07

标签: tree queue reverse traversal

public void revTraversal(BinaryTree binaryTree)
{
    Queue<Node> queue = new LinkedList<Node>();
    Stack<Node> stack = new Stack<Node>();
    Node temp;
    queue.add(root);
    while(!queue.isEmpty()){
        temp = queue.poll();
        if(temp.rightNode!=null)
            queue.add(temp.rightNode);
        if(temp.lefNode!=null)
            queue.add(temp.lefNode);
        stack.push(temp);
    }
    while(!stack.isEmpty())System.out.println("Nodes are"+ stack.pop().tData);
}

为什么我们不能简单地在留下孩子之前用正确的孩子迭代Binary并直接推送堆栈中的所有这些值。为什么我们使用队列作为支持数据结构?

0 个答案:

没有答案