当前位置: 首页 > 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/431858.html

相关文章:

  • 那里有网站建设wordpress 手机版主题
  • 长沙培训网站制作无人机东莞网站建设
  • 基于deepseek学习三角函数相关
  • 网站的优化方法archdaily
  • 织梦怎么修改网站标题有关中国文明网联盟网站建设活动方案
  • 简单的网站代码百度云服务器安装wordpress
  • 百度竞价找谁做网站谷歌外贸平台
  • 百度网盘怎样做网站2018网站做外链
  • 凡科网站案例思途建站
  • sass变量默认
  • 时尚类网站建设推荐一个两学一做的网站
  • 什么样建广告网站汕头论坛
  • 算法题分类整理
  • 昆山做网站的公司有哪些抖音关键词排名优化软件
  • 网页制作哪里便宜seo搜索引擎推广什么意思
  • 网站维护和推广网站 锚点链接怎么做
  • 网站开发开票网站建设计划表
  • 郑州管城建设网站苏州头条新闻
  • 开发网站培训班威海市建设局网站
  • 前端-ElementPlus简介
  • 网站建设是啥安徽做手机网站
  • 南宁品牌网站建设公司杭州做商业地产开什么网站好
  • Flutter + Ollama:开启本地AI的全平台新纪元 —— 从零剖析一款现代化AI客户端的技术奥秘
  • c#网站开发框架有嵌入式开发难学吗
  • 26.简单的 CSS 粘土形态图标悬停效果
  • 十大免费自助建站网页ui素材中心下载
  • 【Python调用CANoe进行测试报告配置与统计】
  • 佛山做网站开发电脑app制作教程
  • 东莞网站建设和制作成都系统开发
  • sm2025 模拟赛5 (2025.9.13)