0
이진 검색 트리의 높이를 반환하는 메서드를 작성했습니다.재귀 : 재귀 함수에서 값 1을 반환하는 방법
이제 재귀 메서드에서 height - 1
을 반환하려고합니다. 나는 여분의 if
조건을 추가하여이 작업을 수행하고 있습니다.
재귀 함수에서 value - 1
을 반환하는 더 좋은 방법이 있습니까? 베이스의 경우
static int height(Node root) {
if (root == null) {
return 0;
}
if (root.left == null && root.right==null) {
return 1;
} else
// I want to return height - 1.
// For example if max height is 10, I wanted to return 9.
return (1 + Math.max(height(root.left), height(root.right));
}
}
널 노드의 경우 0, 단일 노드의 경우 1, 기타 노드의 경우 높이 -1을 반환하고 싶습니다. 예 : 7 원소가 {3,2,1,5,4,6,7} 인 BST의 경우, methid는 4 대신에 3을 반환해야합니다. –
이것은 몇 가지 다른 나무에 대해 1을 제공하기 때문에 다소 일치하지 않습니다. 그러나 정말로 원한다면 업데이트를 참조하십시오. – Henry
감사. 나는 이것을 달성하기 위해 다른 함수를 사용해야한다는 것을 확인하고 싶었고 재귀에서는 불가능했다. 우리는 같은 재귀 함수를 사용하여 이것을 달성 할 수 있다고 생각합니까? –