本文主要是介绍【LeetCode热题100】【二叉树】二叉树的直径,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:543. 二叉树的直径 - 力扣(LeetCode)
要找两个节点之间最多的边数,这个最多的边数必定是某个节点的左右子树的深度之和,因此递归计算每个子树的深度,过程中记录最大和即可
class Solution {
public:int ans = 0;int diameterOfBinaryTree(TreeNode *root) {depth(root);return ans;}int depth(TreeNode *root) {if (!root)return 0;int L = depth(root->left);int R = depth(root->right);ans = max(ans, L + R);return max(L, R) + 1;}
};
这篇关于【LeetCode热题100】【二叉树】二叉树的直径的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!