Portál AbcLinuxu, 12. května 2025 02:23
Ahoj, lamu si ted hlavu s tim jak napsat metodu, ktera mi vrati nejhloubeji lezici uzel v libivolnem stromu. Lepereceno tech stromu mam vic, potrebuju kazdy projit a najit nejhloubeji lezici uzel ze vsech. uzly maji odzaky na sve rodice a seznam potomku, neobsahuji ale svou hloubku ! Takze jako navratovou hodnotu muzu mit bug int - hloubku nebo odkaz na uzel - TreeNode.
Napadlo me jednoduche reseni : zjistit maximalni hloubku vsech stromu a pak znova kazdy projit, a najit ten uzel ktery teto hloubce odpovida. Trosku neefektivni reseni, ale i tak mam zasek : Zjistit maximalni hloubku je trivialni, zasek sem se ale u metody ktery mi najde ten uzel, ktery ma tu maximalni hloubku.
private TreeNode findDeepestNode(TreeNode subtreeRootNode, int currentDepth){
currentDepth ++;
if (currentDepth == maxSubtreeDepth){
return subtreeRootNode;
}
else ( ??? )
}
Řešení dotazu:
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.