0
데이터 및 오른쪽 및 왼쪽 노드에 대한 문자열 값으로 구현 된 일반 이진 검색 트리가 있습니다. 나무가 잘 작동하지만 내 rankOf 기능에 문제가 있습니다. 재귀를 사용하여 노드를 찾고 요소가 존재할 때 메서드가 성공적이지만 존재하지 않는 값이 작동하지 않을 때이 작업을 돕기 위해 부울을 설정하는 방법을 알 수 없습니다. 여기에 코드입니다 :Java BST 재귀 변수 설정
private int rankOf(String s, Node n){
if (n != null){
//check root
if (s.compareTo(n.value) == 0){
if (n.left != null){
return size(n.left);
}
return 0;
}
// only worry about left tree, easy
if (s.compareTo(n.value) < 0){
return rankOf(s, n.left);
} else {
// must count entire left tree plus root node
return rankOf(s, n.right) + size(n.left) + 1;
}
}
//null or not found
return 0;
}
루트가 나는 요소가 그래서 뭔가 거기에 이동하지만,이 문제를 처리하는 방법을 확실해야 트리에 알고있는 값과 같습니다.
"존재하지 않는 값이 작동하지 않는 경우"예외가 발생합니까? pls 당신의 나무를 게시하십시오 – CodeIsLife
'''''''''''''method가 무엇을 반환합니까? 성공/실패의 경우에도 메소드가 리턴해야하는 것은 무엇입니까? –
@SchiduLuca Size는 전달 된 노드의 하위 트리에있는 노드의 양을 반환합니다. 실패하면 -1을 반환 할 수 있습니다. –