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

中美网站建设linux搭建wordpress

中美网站建设,linux搭建wordpress,360网站怎么做网址链接,导购网站自己做电商目录 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/976257/

相关文章:

  • wordpress 手机网站支付京东网站建设的经费预算
  • 自己怎么样做游戏网站做海外贸易网站
  • 建立什么样的网站好制作网页网站代码
  • 岳麓区专业的建设网站公司尚一网常德论坛
  • 电商网站建设实训报告360站长平台链接提交
  • 个性化网站建设公司个人网站备案类型
  • 腾讯建站模板上海网站开发有限公司
  • 网站和小程序的区别请问做网站怎么赚钱
  • 网站logo设计免费版在线网站开发建设准备工作
  • wordpress多站点 主题南京做网站好的公司
  • 广州 门户seo到底是做什么的
  • 可以登录国外网站吗如何用家用电脑做网站
  • 吉安建站公司wordpress企业
  • 河北住房和城乡建设厅网站6thinkphp做视频网站
  • 遵义网站制作一般需要多少钱深圳全国网站制作哪个好
  • 公众平台网站价格哪个网站做餐饮推广最好
  • 深圳 公司网站设计重庆的网站设计公司价格
  • 网站开发市场分析餐饮平台app有哪些
  • 制作一个收费网站要多少钱开发网站需要什么技术
  • 网站流量统计平台二手域名做网站不收录
  • 蒙古网站后缀mysql8.0 wordpress
  • 免费建立一个网站互联网推广培训
  • WordPress多站点绑定域名深圳住房建设部官方网站
  • 网站建设公司zgkr上海网页网络技术有限公司
  • wordpress附件扩展格式徐州seo关键词
  • wordpress博客站模板织梦网站 联系方式修改
  • 北京城乡建设厅网站重庆网站建设解决方案
  • 网站建设和维护工作内容网站的空间与域名
  • 济南做门户网站开发公司网页发布的步骤
  • 江苏省交通厅门户网站建设管理办法做的网站怎么让百度收录