续一篇这个题目的文章,是因为看到编程之美里面也讲到了这个问题。
若干周以前是在csdn上看到的,然后我用python写了个算法,很长很长,
基本是把所有叶子到根的路径找出来了,
然后做合并,看什么是最长的路径。
这样的做法是为了找出所有的节点究竟是什么,而至今我还没找到更好的办法。
这次编程之美里的问题简化了一点,只要求找出最大的路径的长度,不用找出究竟是哪个。
这样的话就可以比较简单的用递归去做了。
最大的路径是以下三个值的最大值:
1.左边分支的最大路径。
2.右边分支的最大路径。
3.左边的深度+右边的深度+2。