如何用字符串方法打印树的数据?

How can I print the data of a tree in a string method?

我有这个方法可以打印 A​​vl 树的内容。

public String traverseInOrder() {
      return traverseInOrder(root);
}

private String traverseInOrder(TNode<T> node) {
  String Str = "";
    if (node != null) {
      if (node.left != null)
        traverseInOrder(node.left);
        Str +=node;
      if (node.right != null)
        traverseInOrder(node.right);
    }
  return Str;
} 

仍然会有一个问题,在这种情况下,您返回的是 Avl 树的 一个节点,而 我需要所有节点在 Avl 树中。 我不想使用某种无效方法

您需要将递归的结果添加到Str。像这样: Str += traversInOrder(node.left) 正确的也是如此。您还应该使用 node.value 或您的内容值名称打印节点的内容。

示例:

private String traverseInOrder(TNode<T> node) {
  String Str = "";
    if (node != null) {
      if (node.left != null)
        Str += traverseInOrder(node.left);
      Str += node.value;
      if (node.right != null)
        Str += traverseInOrder(node.right);
    }
  return Str;
}