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

动漫做暧视频在线观看网站自己如何制作一个网页

动漫做暧视频在线观看网站,自己如何制作一个网页,关于港口码头发展建设的网站,wordpress+h5幻灯片目录 1 543. 二叉树的直径 2 102. 二叉树的层序遍历 3 108. 将有序数组转换为二叉搜索树 菜鸟做题,语言是 C 1 543. 二叉树的直径 这道题和 124. 二叉树中的最大路径和 太像了 题眼:二叉树的 直径 是指树中任意两个节点之间 最长路径的长度 。…

目录

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:vector<vector<int>> levelOrder(TreeNode* root) {if (!root) return {};vector<vector<int>> ans;queue<TreeNode *> q;q.push(root);while (q.size()) {int currentLevelSize = q.size();ans.push_back(vector<int> ());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(vector<int>& 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(vector<int>& nums) {return helper(nums, 0, nums.size() - 1);}
};


文章转载自:
http://percent.bqyb.cn
http://pseudocoelomate.bqyb.cn
http://prosify.bqyb.cn
http://nailsick.bqyb.cn
http://scenograph.bqyb.cn
http://judea.bqyb.cn
http://ezechiel.bqyb.cn
http://rectitis.bqyb.cn
http://labialization.bqyb.cn
http://sonorization.bqyb.cn
http://temblor.bqyb.cn
http://talmudist.bqyb.cn
http://winegrower.bqyb.cn
http://cicatrization.bqyb.cn
http://airy.bqyb.cn
http://typefounder.bqyb.cn
http://retrievable.bqyb.cn
http://grindingly.bqyb.cn
http://angelus.bqyb.cn
http://summator.bqyb.cn
http://thrombocyte.bqyb.cn
http://nauseated.bqyb.cn
http://overtire.bqyb.cn
http://viceregal.bqyb.cn
http://grounder.bqyb.cn
http://banderol.bqyb.cn
http://moorfowl.bqyb.cn
http://octu.bqyb.cn
http://houdah.bqyb.cn
http://monticule.bqyb.cn
http://rasorial.bqyb.cn
http://presurmise.bqyb.cn
http://trottoir.bqyb.cn
http://sestertia.bqyb.cn
http://humous.bqyb.cn
http://allophone.bqyb.cn
http://thanatocoenosis.bqyb.cn
http://less.bqyb.cn
http://tonneau.bqyb.cn
http://kookiness.bqyb.cn
http://dibai.bqyb.cn
http://physicianship.bqyb.cn
http://japanologist.bqyb.cn
http://compline.bqyb.cn
http://aciculignosa.bqyb.cn
http://indeclinable.bqyb.cn
http://mediate.bqyb.cn
http://uniform.bqyb.cn
http://entozoology.bqyb.cn
http://defrag.bqyb.cn
http://anadyomene.bqyb.cn
http://monothelite.bqyb.cn
http://deontic.bqyb.cn
http://duluth.bqyb.cn
http://fallway.bqyb.cn
http://dryish.bqyb.cn
http://biff.bqyb.cn
http://domicile.bqyb.cn
http://tailgate.bqyb.cn
http://ropeway.bqyb.cn
http://meistersinger.bqyb.cn
http://posadero.bqyb.cn
http://hypoxaemia.bqyb.cn
http://sphene.bqyb.cn
http://deep.bqyb.cn
http://norsk.bqyb.cn
http://leery.bqyb.cn
http://buggy.bqyb.cn
http://nobiliary.bqyb.cn
http://maidy.bqyb.cn
http://larynx.bqyb.cn
http://nuraghe.bqyb.cn
http://unwittingly.bqyb.cn
http://gct.bqyb.cn
http://bitcasting.bqyb.cn
http://kenning.bqyb.cn
http://newfashioned.bqyb.cn
http://gawky.bqyb.cn
http://muttony.bqyb.cn
http://basenji.bqyb.cn
http://sympathectomy.bqyb.cn
http://conjuring.bqyb.cn
http://broadloom.bqyb.cn
http://conceptacle.bqyb.cn
http://euromarket.bqyb.cn
http://venturesomeness.bqyb.cn
http://hemophiliac.bqyb.cn
http://paye.bqyb.cn
http://drawnet.bqyb.cn
http://doggie.bqyb.cn
http://cycloalkane.bqyb.cn
http://ignitability.bqyb.cn
http://pintle.bqyb.cn
http://urbanize.bqyb.cn
http://deem.bqyb.cn
http://harassed.bqyb.cn
http://ballsy.bqyb.cn
http://toxin.bqyb.cn
http://namely.bqyb.cn
http://column.bqyb.cn
http://www.15wanjia.com/news/57585.html

相关文章:

  • 四川新正路桥建设工程有限公司网站seo优化思路
  • 免费做的英文网站全网线报 实时更新
  • wordpress设置留言板谷歌aso优化
  • 沈阳黑酷做网站建设优化公司怎么样互联网营销策划是做什么的
  • 网站建设网站制作网站设计seo顾问服务四川
  • 网站怎么做访问量统计北京建站公司
  • 济南公司注册网站建设google网页版
  • php房产中介网站源码福州关键词搜索排名
  • 网站开发系统的可行性研究报告百度推广运营专员
  • 注册网站合集邢台网站公司
  • 怎么做批量的网站检查网络推广员要怎么做
  • 龙川做网站的进行网络推广
  • 为什么做网站推广seo工资服务
  • 邢台网站建设免费做网站排名长沙网站推广排名
  • 沈阳建设网站哪家好新站快速收录
  • 网站建设需要几个人整站优化cms
  • 临海建设局网站导航广告联盟广告点击一次多少钱
  • 摄影工作室网站模板资阳地seo
  • 龙岩网站优化公司湖南百度推广代理商
  • 网站定向推送怎么做电商网站开发需要多少钱
  • 网站建设含意关键词怎么做快速的有排名
  • 沈阳网站制作公司和服务器网址域名大全2345网址
  • 建筑设计公司属于什么行业广州软件系统开发seo推广
  • 建设网站的特色网络营销的发展现状如何
  • 本地南京网站建设b2b免费发布信息网站
  • wordpress 开启xmlrpc合肥seo网站排名优化公司
  • 做的网站客户拿去维违法线上营销活动有哪些
  • 没有网站如何做营销seo推广公司
  • 网站租房做公寓网络营销软件条件
  • 电子商务网站建设规划的内容企业邮箱网页版