在使用递归时,我的二叉树的级别顺序遍历存在问题。我正在输入以下值:50,60,70,30,20,10 这是我正在使用的代码:
public void levelOrder(Node localRoot){
if(localRoot != null){
if(localRoot.leftChild != null && localRoot.rightChild != null){
System.out.print(localRoot.iData + " ");
System.out.print(localRoot.leftChild.iData + " ");
System.out.print(localRoot.rightChild.iData + " ");
levelOrder(localRoot.leftChild);
levelOrder(localRoot.rightChild);
}
else if(localRoot.rightChild == null && localRoot.leftChild == null){
;
}
else if(localRoot.rightChild == null){
System.out.print(localRoot.leftChild.iData + " ");
//levelOrder(localRoot.leftChild);
}
else{
System.out.print(localRoot.rightChild.iData + " ");
//levelOrder(localRoot.rightChild);
}
}
}
不使用堆栈是否可以递归?因为目前这个功能把我一直带到左边然后它向右走。我可以做些什么不同的事情?
我对这段代码的输出是:50、30、60、20、70,它不打印 10。