0
특정 노드에 대한 경로를 찾으려면 0이 왼쪽 분기를 가져 왔음을 나타내며 1은 오른쪽입니다.BinarySearchTree에서 노드에 대한 경로를 찾는 데 문제가 있습니다.
여기 내 코드입니다.
private static String getPathTo(final BinaryNodeInterface<Character> root, char c)
{
// TO DO
String path = "";
return getPT(root, c, path);
}
private static String getPT(BinaryNodeInterface<Character> root, char c, String path)
{
if(root.getData().equals(c))
return path;
if((root.getData() > c) && (root.getLeftChild() != null))
{
path = path + "0";
getPT(root.getLeftChild(), c, path);
}
if((root.getData() < c) && (root.getRightChild()!= null))
{
path = path + "1";
getPT(root.getRightChild(), c, path);
}
return "CHARACTER NOT FOUND";
}
루트를 제외하고 "문자를 찾을 수 없습니다"를 반환합니다. 나는 너무 혼란 스럽기 때문에 정말로 혼란 스럽다. 그러나 분명히 나는 잘못된 것을하고있다. 이 검사는 모든 시간을
if(root.getData().equals(c))
승리하지 않는 한