当前位置: 首页 > wzjs >正文

受欢迎的做pc端网站网络营销策划方案框架

受欢迎的做pc端网站,网络营销策划方案框架,不关网站备案,wordpress新建页面是空白的二叉树的直径是指二叉树中的最长路径。例如 在这棵树中,最长路径为4-3-2-5-6。这个最长路径是如何得出的呢?回顾之前做过的求深度的题目,我们发现二叉树的左右子树与自身结构相似,这自然地将问题分解为子问题,因此适合…

        二叉树的直径是指二叉树中的最长路径。例如

      

        在这棵树中,最长路径为4-3-2-5-6。这个最长路径是如何得出的呢?回顾之前做过的求深度的题目,我们发现二叉树的左右子树与自身结构相似,这自然地将问题分解为子问题,因此适合采用递归方法解决,那么二叉树的深度与直径是否存在某种联系呢?

        值得注意的是,最长路径必然存在"拐点"。例如在第二棵树中,路径在节点2处拐弯,得到以2为根节点的最长路径长度为3,即左子树最长链 + 右子树最长链 + 2(根节点与两个子树之间的边)。再看第三棵树中的节点5,同样遵循这一计算步骤。那么,在递归的"归"阶段,我们需要返回什么呢?以节点2为例,在返回时,我们将2-3-4这条左右子树中最长的链返回给节点5,即max(左子树最长链,右子树最长链) + 1。

综上所述,该问题的算法步骤可归纳为:

  1. 在递归遍历子树的同时计算树的直径;
  2. 当前节点作为"拐点"时的直径等于左子树最长链 + 右子树最长链 + 2;
  3. 返回给父节点的是以当前节点为根的子树的max(左子树最长链,右子树最长链) + 1。
    class Solution {
    public:int ans = 0;int Longest(TreeNode* root) {if (root == nullptr) {return -1;}int leftLen = Longest(root->left);int rightLen = Longest(root->right);ans = max(ans,leftLen + rightLen + 2);return max(leftLen,rightLen) + 1;}int diameterOfBinaryTree(TreeNode* root) {Longest(root);return ans;}
    };

        时间复杂度:O(n),每个点都会遍历一次

        空间复杂度:O(n),在最坏情况下,二叉树为一条链,需要O(n)栈空间 

http://www.dtcms.com/wzjs/471033.html

相关文章:

  • magento做的网站交换友情链接的意义是什么
  • php网站服务器口碑营销的特征
  • 端午节网站建设目的网店推广方案
  • 中国能源建设集团招聘网站广州专业seo公司
  • flash网站banner百度seo详解
  • 社交网站做强百度安装免费下载
  • 网站建设资讯版块如何做用户运营谷歌官网登录入口
  • php动态网站开发常用技术最好的优化公司
  • 泰安市最新招聘信息某网站seo诊断分析和优化方案
  • 辽宁同鑫建设网站百度认证证书
  • php做网站安性如何百度推广的定义
  • 乐清网站建设免费获客软件
  • 河南企起网站建设网络公司网站
  • 做网站互联网公司浙江网络推广公司
  • 建网站软件 优帮云四种营销模式
  • 网站做任务网络营销的5种方式
  • 电商网站开发公司百度网页版怎么切换
  • 手机电商网站开发网络推广seo是什么
  • 互联网创新创业大赛项目计划书seo在线诊断工具
  • 做网站用什么语言好百度百度一下你就知道主页
  • 网站联系方式修改织梦网站性能优化
  • 网站海外推广谷歌seo方案日本免费服务器ip地址
  • 做视频网站投入多少网站一级域名和二级域名区别
  • 做文明人网站专题百度门店推广
  • 怎么开通公司网站网上销售都有哪些平台
  • php快速建网站seo优化排名易下拉效率
  • 深圳网站开发专业快手seo关键词优化
  • wordpress如何下载seo百度站长工具
  • seo点击软件排名优化网站seo 优化
  • 东莞网站建设推广公司优化大师电脑版