第一次遇到想了好几分钟,解法好巧妙: 我们假设每个顶点为中转站 (顶点左边的点经过他 到右边的点 或者到顶点本身)。 那其实就是算出以这个顶点为根结点的树的左右子树最大深度和。 可以利用DFS计算深度,并每次取MAX更新结果 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { ...