【发布时间】:2020-04-08 08:27:40
【问题描述】:
给定:
public void printInorder() {
printInorder(root);
}
private void printInorder(Node<E> n) {
...
}
private static class Node<E> {
private E data;
private Node<E> left;
private Node<E> right;
private Node(E data) {
data = data;
left = right = null;
}
我的任务是完成私有 Inorder 方法以使其与递归一起工作。 到目前为止我所做的是:
private void printInorder(Node<E> n) {
if (n != null) {
printInorder(n.left);
System.out.println(n.data);
printInorder(n.right);
哪个是正确的答案,我只是不明白为什么它是正确的。
我了解,如果您在公共方法中输入 printInorder(root)。它将采用私有方法并首先打印左侧,然后是“System.out.println”所有数据。那么它会往右边走,但是它是怎么把右边的数据打印出来的呢?
提前感谢您的帮助!
【问题讨论】:
-
添加断点,启动调试器,然后逐句逐句执行代码
标签: java binary binary-tree