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

本地的唐山网站建设苏州外贸网站建设优化推广

本地的唐山网站建设,苏州外贸网站建设优化推广,珠海市研发网站建设,网站建设怎样把网页连接起来文章目录 1. 从根到叶的二进制数之和2. 二叉树的坡度3. 总结 1. 从根到叶的二进制数之和 描述: 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。 例如,如果路径为 0 -> 1 ->…

文章目录

  • 1. 从根到叶的二进制数之和
  • 2. 二叉树的坡度
  • 3. 总结

1. 从根到叶的二进制数之和

描述:
给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。
例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。
对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。
返回这些数字之和。题目数据保证答案是一个 32 位 整数。

OJ链接

根结点到一个叶子结点为一条路径,有多少个叶子结点就有多少条路径,而此题要求的便是所有路径之和。

所以,二叉树的各个路径都必须遍历,所以需要递归二叉树,路径的遍历是向下的,因此是深度优先遍历,在遍历过程中,可以用一个变量累加每条路径之和。

具体代码如下:
class Solution {
public:int sum = 0;//用以记录路径之和void dfs(TreeNode* root,int val){if(root == nullptr)//如果是空,直接返回return;val = val * 2 + root->val;if(root->left == nullptr && root->right == nullptr)//判断是否到路径末尾,即叶子结点处{sum += val;//此时的val,即一条路径上的二进制数之和return;}//没有到路径末尾,因此继续向下递归dfs(root->left,val);dfs(root->right,val);}int sumRootToLeaf(TreeNode* root) {dfs(root,0);return sum;  }
};

2. 二叉树的坡度

描述:
给你一个二叉树的根节点 root ,计算并返回 整个树 的坡度 。
一个树的 节点的坡度定义即为,该节点左子树的节点之和和右子树节点之和的差的绝对值。如果没有左子树的话,左子树的节点之和为 0 ;没有右子树的话也是一样。空结点的坡度是 0 。
整个树的坡度就是其所有节点的坡度之和。

OJ链接

在这道题中,结点坡度的定义与树的坡度的定义,二者是不同的。结点的坡度是左子树结点之和和右子树结点之和的差的绝对值,所以此题实际上是计算二叉树结点之和的拓展。

具体思路如下:

  1. 整个树的坡度就是其所有结点坡度之和,因此给一个变量用以记录结点坡度之和。
  2. 结点坡度与左右子树的和有关,因此二叉树递归遍历的目的在于,得到子树的和。
具体代码如下:
class Solution {
public:int count = 0;//记录坡度之和int dfs(TreeNode* root){if(root == nullptr)return 0;//空结点,无值,返回0int sumLeft = dfs(root->left);//左子树的和int sumRight = dfs(root->right);//右子树的和count += abs(sumLeft - sumRight);return root->val + sumLeft + sumRight;//返回树(子树)的所有结点之和}int findTilt(TreeNode* root) {dfs(root);return count;}
};

3. 总结

二叉树的递归,或者说递归的算法题,确实比较玄学,如果能厘清楚递归的整个过程,那就相对比较简单。

关键还是在于,要清楚递归要去做什么,是如何递归,递归遇到不同的情况,又该做怎样不同处理,然后再结合简单实例,具体分析递归的代码到底该如何写。

http://www.dtcms.com/a/421819.html

相关文章:

  • 网站建设报告书范文建设企业学习网站
  • 英文网站建设方案详细方案平顶山车祸最新新闻事件
  • 广州网络推广建站wordpress百度显示缩略图
  • 影视网站的设计与实现wordpress熊掌号关注
  • 北京的做网站公司网站标识
  • 国内公司网站需要备案网站建设中的背景图片模板
  • 小说网站开发需求分析网站建设出现乱码
  • 能免费做网站全国二级建造师查询网站
  • 呼伦贝尔寰宇网站建设热烈祝贺公司网站上线
  • 做外贸有哪些网站比较好网上怎样查询企业资质
  • 沈阳高端网站开发建设网站手机版开发
  • 网站标签怎样修改太原seo排名
  • wordpress 模版 psd怎么优化WordPress主题
  • 网站建设的规划和流程郑州seo顾问
  • 网站建设的快乐手机免费自助建站系统
  • 北欧做的比较好的网站网站建设预算知乎
  • 中国建筑网站平台有哪些用seo对网站做分析
  • 西安网站建设有那些公司好突发 佛山出大事
  • 网站开发主要技术合肥专业做网站建设内容
  • 中国建设银行网站用户名是什么意思网站后台代码
  • 电商资源网站怎么用php做网站方案
  • 悦西安东莞网站推广优化
  • 赣州网站建设方案自媒体素材视频网站
  • 全国信用网站一体化建设wordpress 显示微博
  • 如何建设软件下载网站除了速卖通还有什么网站做外贸
  • 南漳网站定制江门seo排名优化
  • 前端做网站商城 购物车怎么做建筑公司商标logo设计
  • 百度域名书写seo分析seo诊断
  • 网站页面优化方法shopex更改数据密码后网站打不开了
  • python做网站实例互联网平台服务