Я не получаю логику того, как найти второй по величине элемент в дереве.Как найти второе по величине значение в дереве
public static int largestR(TreeNode<Integer> root){
if(root==null){
return Integer.MIN_VALUE;
}
int max=root.data;
for(int i=0;i<root.children.size();i++){
int n=largestR(root.children.get(i));
if(max<n){
max=n;
}
}
return max;
}
Дерево не является бинарным, у узла может быть любое количество детей.
Было бы замечательно, если вы можете дать мне алгоритм кода для ее решения
Спасибо.
Ну, вы знаете, как получить наибольшее значение в дереве? Это почти то же самое, что и вы, за исключением того, что вы отслеживаете 2 самых больших значения, а не только 1. –
Я знаю, как получить наибольшее значение. – nishant
Если вы поделитесь своим кодом, показывающим, как вы сделали это для самого большого, мы можем предложить, как изменить его на 2-й по величине. –