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

苏州360推广网站建设网站首页菜单栏表怎么做

苏州360推广网站建设,网站首页菜单栏表怎么做,凡科一个注册做2个网站,江西建设职业技术学院官方网站目录 1 543. 二叉树的直径 2 102. 二叉树的层序遍历 3 108. 将有序数组转换为二叉搜索树 菜鸟做题#xff0c;语言是 C 1 543. 二叉树的直径 这道题和 124. 二叉树中的最大路径和 太像了 题眼#xff1a;二叉树的 直径 是指树中任意两个节点之间 最长路径的长度 。…目录 1  543. 二叉树的直径 2  102. 二叉树的层序遍历 3  108. 将有序数组转换为二叉搜索树 菜鸟做题语言是 C 1  543. 二叉树的直径 这道题和  124. 二叉树中的最大路径和  太像了 题眼二叉树的 直径 是指树中任意两个节点之间 最长路径的长度 。 简而言之就是找出一条路径且这条路径上的节点最多。 解题思路 从下往上遍历二叉树当前子树中的最长路径 1 左子树中的最长路径 右子树中的最长路径向父节点自荐当前子树中的最长路径 1 max(左子树中的最长路径右子树中的最长路径) 为什么必须从 “左子树中的最长路径” 和 “右子树中的最长路径” 中选一个不能都要吗当然不行。我们要的是一条笔直的路径如果左右子树都带上那不就分叉了吗。 思路说明图 对于绿色节点在它作为根节点的子树中最长路径 1 左子树中的最长路径 右子树中的最长路径绿色节点左子节点向蓝色节点父节点自荐自荐的最长路径 1 max(左子树中的最长路径右子树中的最长路径)。对于蓝色节点在它作为根节点的子树中最长路径 1 左子树中的最长路径 右子树中的最长路径。以此类推。 class Solution { public:int ans 1;int helper(TreeNode * root) {if (!root) return 0;int ltree helper(root-left);int rtree helper(root-right);ans max(ans, 1 ltree rtree);return 1 max(ltree, rtree);}int diameterOfBinaryTree(TreeNode* root) {helper(root);return ans - 1;} }; 说明我们算的其实是最多节点数而路径长度是边的条数因此需要减一 return ans - 1; 2  102. 二叉树的层序遍历 是循环不是递归 层序遍历逐层地从左到右访问所有节点。 解题思路 出队从左到右遍历当前层中的每个节点入队将每个节点的左右子节点存入队列中出队从左到右遍历左右子节点即下一层中的每个节点 具体代码 ① 循环条件当队列中还有节点没有被遍历时即队列长度不为 0 时。 while (q.size()) {} ② 遍历某一层中的所有节点 int currentLevelSize q.size(); for (int i 0; i currentLevelSize; i) {TreeNode * node q.front();q.pop();// ... } 此时队列的大小等于当前层中的节点个数。 ③ 存入每个节点的左右子节点即下一层中的所有节点。 if (node-left) q.push(node-left); if (node-right) q.push(node-right); 只有节点不为空时才需要被访问。 class Solution { public:vectorvectorint levelOrder(TreeNode* root) {if (!root) return {};vectorvectorint ans;queueTreeNode * q;q.push(root);while (q.size()) {int currentLevelSize q.size();ans.push_back(vectorint ());for (int i 0; i currentLevelSize; i) {TreeNode * node q.front();q.pop();ans.back().push_back(node-val);if (node-left) q.push(node-left);if (node-right) q.push(node-right);}}return ans;} }; 3  108. 将有序数组转换为二叉搜索树 与对 105. 从前序与中序遍历序列构造二叉树 的理解有一点点像 可以理解成将有序数组视为中序遍历的结果并将其还原回二叉树。 中序遍历的结果数组的特点(左子树根节点右子树) 题眼高度平衡二叉树 是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。因此我们每次都取数组区间的中间值为根节点代码如下 int mid (left right) / 2; 完整代码 class Solution { public:TreeNode* helper(vectorint nums, int left, int right) {if (left right) return nullptr;int mid (left right) / 2;TreeNode* root new TreeNode(nums[mid]);root-left helper(nums, left, mid - 1);root-right helper(nums, mid 1, right);return root;}TreeNode* sortedArrayToBST(vectorint nums) {return helper(nums, 0, nums.size() - 1);} };
http://www.w-s-a.com/news/490365/

相关文章:

  • 网站的推广方案有哪些此网站可能有
  • wordpress更改链接后网站打不开一键生成个人网站
  • 网站建设后台有哪些东西前端开发培训一般多少钱
  • 高端建设网站公司网站开发 源码
  • 企业网站的劣势园林景观设计公司简介范文
  • 网站建设程序招聘东营建设信息网登录
  • o2o是什么意思通俗讲seo与网站优化 pdf
  • 外贸网站外包一般建设一个网站多少钱
  • 抄袭别人网站的前端代码合法吗网络促销策略
  • 用wordpress制作网站做资源网站
  • wordpress 发布网站南宁网站建设网站
  • 职业生涯规划大赛心得贵阳哪家网站做优化排名最好
  • wordpress 图片懒加载北京网站优化和推广
  • 深圳网站建设工作一个dede管理两个网站
  • 被禁止访问网站怎么办中国建筑网官网查询系统
  • 网站管理运营建设网贷网站
  • 深圳市龙岗区住房和建设局网站怎么给网站做404界面
  • 设计类网站网站系统 建设和软件岗位职责
  • 网站后台打开慢站长之家网址ip查询
  • 图书馆网站设计方案家具设计作品
  • 马鞍山做网站公司排名徐州网站外包
  • 十堰微网站建设电话宣传型网站建设
  • 电脑制作网站教程网络公司除了建网站
  • 360制作网站搜网站网
  • 门户网站标题居中加大网站底部的制作
  • 网站建设项目费用报价ai软件下载
  • 面料 做网站重庆网站seo费用
  • 中国沈阳网站在哪里下载中国移动营销策略分析
  • 建设银行 钓鱼网站360免费建站教程
  • wordpress全站cdn网站运营年度推广方案