Pergunta de entrevista da empresa Yahoo

Find a longest path in a tree.

Resposta da entrevista

Sigiloso

14 de jul. de 2013

List longestPath(Node node) { List path = new ArrayList(); path.add(node); List longestChildPath = new ArrayList(); for(Node child: node.children()) { List childPath = longestPath(child); if (longestChildPath == null || childPath.size() > longestChildPath) { longestChildPath = childPath; } } path.addAll(longestChildPath); return path; }