0
대부분의 자식이있는 노드를 찾고 자식 수를 반환하는 함수를 작성해야합니다. 이 함수는 트리의 루트에 대한 포인터를 입력으로 가져야합니다. 누군가이 함수에 가능한 의사 코드를 제공 할 수 있습니까? 나는 첫 번째 자식과 형제 포인터의 개념에 대해 혼란스러워하고있다.최대 개수의 자식 노드를 찾고 그 수를 반환하는 방법은 무엇입니까?
감사합니다.
대부분의 자식이있는 노드를 찾고 자식 수를 반환하는 함수를 작성해야합니다. 이 함수는 트리의 루트에 대한 포인터를 입력으로 가져야합니다. 누군가이 함수에 가능한 의사 코드를 제공 할 수 있습니까? 나는 첫 번째 자식과 형제 포인터의 개념에 대해 혼란스러워하고있다.최대 개수의 자식 노드를 찾고 그 수를 반환하는 방법은 무엇입니까?
감사합니다.
재귀 의사 :
int maxChildren = findMaxChildren(root, 0);
int findMaxChildren(TreeNode root, int max) {
if (root.getChildren().length > max) max = root.getChildren().length;
TreeNode e = root.firstChild();
while (e != null) {
int tmp = findMaxChildren(e, max);
if (tmp > max) max = tmp;
e = e.nextSibling();
}
return max;
}
재귀 적으로. firstChild로 nextSibling와
int maxChildren = findMaxChildren(root, 0);
int findMaxChildren(TreeNode root, int max) {
if (root.getChildren().length > max) max = root.getChildren().length;
for (TreeNode e : root.getChildren()) {
int tmp = findMaxChildren(e, max);
if (tmp > max) max = tmp;
}
return max;
}