我正在尝试使用中序遍历(在 java 中)打印出二叉树,但没有任何歧义。
我从后序符号输入创建了树。
例如,输入 = 2 3 4 * - 5 + 然后我创建树,并希望使用中序遍历将其打印出来。
所以输出必须是 = 2 - (3*4) + 5 但是,使用按顺序遍历显然不会给我分隔括号。
我的问题是,我可以按我想要的方式打印输出,而无需干预基本的 BinaryNode 和 BinaryTree 类,而只更改我的驱动程序类吗?如果是这样,我将如何去做?
如果我只能通过更改我的 printInOrder 方法(在 BinaryNode 类中)来做到这一点,这就是它目前的样子:
public void printInOrder()
{
if (left != null)
{
left.printInOrder(); // Left
}
System.out.print(element); // Node
if (right != null)
{
right.printInOrder(); // Right
}
}
这是我第一次使用 Stack Overflow,如果我没有正确发布,请放轻松:)