BST에 대해 toString
메서드를 구현했지만 작동하지만 안정적이지는 않습니다. 잘 작동 toString
이 나무에 대한 예를 을 위해 : 을하지만,이 하나, 그것은 잘못
이진 검색 트리 toString Java
사람의 도움이 될 수 있습니다, 무슨 일이야? 당신이 왼쪽 노드가있는 경우
if (left(node) != null) {
toStringB(string.append(" ("), left(node));
}
if (right(node) != null) {
toStringB(string.append(", "), right(node));
string.append(')');
}
하지만, 권리 노드, 당신은 (left
를 추가하지 않습니다 :
@Override
public String toString() {
return "(" + toStringB(new StringBuilder(), root()).toString() + ")";
}
private StringBuilder toStringB(StringBuilder string, Node<E> node) {
if (node != null) {
string.append(node.getElement());
if (left(node) != null) {
toStringB(string.append(" ("), left(node));
}
if (right(node) != null) {
toStringB(string.append(", "), right(node));
string.append(')');
}
}
return string;
}
우리는 전체 코드를 제공하여 실행할 수 있습니까? –