Pergunta de entrevista da empresa Microsoft

Given a not necessarily balanced, unweighted binary three write a function that will find the longest path between 2 nodes in it