https://leetcode.com/problems/minimum-height-trees/ 有trick 对graph不熟悉。再看几遍。 参考http://bookshadow.com/weblog/2015/11/26/leetcode-minimum-height-trees/ 基本思路是“逐层删去叶子节点,直到剩下根节点为止” 有点类似于拓扑排序 最终剩下的节点个数可
* TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* dfs(const vector<int> &nums, int L, int R) { if(L > R) { return nullptr; } int mid = (L+R)>>1; ...