我正在尝试从此错误中删除代码,直到现在我已经编写了此代码。
public static void reverseLevelOrder(BinaryTreeNode root){
if( root == null) return;
Queue<BinaryTreeNode> queue = new LinkedList<>();
Stack<BinaryTreeNode> stack = new Stack<>();
queue.add(root);
while(!queue.isEmpty()){
BinaryTreeNode node = queue.poll();
stack.push(node);
if(node.right!=null){
queue.add(node.right);
}
if(node.left!=null){
queue.add(node.left);
}
}
while(!stack.isEmpty()){
BinaryTreeNode ans = stack.pop();
System.out.print(ans.data+" ");
}
}
尽管此代码在联机Java编译器上可以正常运行,但在特定的Web平台上却遇到此运行时错误。我对此不太了解,网站上提供的示例测试用例为:5 6 2 2 3 -1 -1 9 7 -1 -1 -1 -1 -1,它基本上表示水平次序遍历,而-1表示离开节点。预期输出为7 9 3 2 2 6 5。