如何用字符串方法打印树的数据?
How can I print the data of a tree in a string method?
我有这个方法可以打印 Avl 树的内容。
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;
}
我有这个方法可以打印 Avl 树的内容。
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;
}