1
이진 검색 트리의 각 노드를 자식의 합계로 바꾸는 다음 코드가 있습니다.이진 검색 트리에서 왼쪽 자식의 합
public static void sumofChild(Node root) {
if (root == null) return;
sumofChild(root.getLeft());
sumofChild(root.getRight());
if (root.getLeft() != null) {
int sum = root.getData() + root.getLeft().getData();
root.setData(sum);
}
if (root.getRight() != null) {
int sum = root.getData() + root.getRight().getData();
root.setData(sum);
}
}
이제 각 노드를 왼쪽 자식의 합계로만 업데이트하려면이 코드를 수정하고 싶습니다.
이 내 입력 나무,
12
9 14
7 10 13 17
출력 트리 할 필요가, 내가 바로 그것을 얻을 수없는 것
28
16 27
7 10 13 17
가 그래서 본질적으로합니다. 어떤 도움을 주셔서 감사합니다.
왜 그냥 getRight 합 if 문을 제거? – Compass
내부 노드의 경우 오른쪽 합계가 왼쪽 합계의 일부이기 때문에 작동하지 않습니다. –