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

【每日一题】LeetCode 1022. 从根到叶的二进制数之和

给出一棵二叉树,其上每个结点的值都是 \(0\)\(1\) 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。

例如,如果路径为 \(0 \to 1 \to 1 \to 0 \to 1\),那么它表示二进制数 \(01101\),也就是 \(13\)

对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。

返回这些数字之和。题目数据保证答案是一个 32 位整数。


在二叉树上进行深度优先遍历,维护当前结点和从根到当前结点的路径代表的二进制数。

仅当当前结点无儿子结点时,当前结点是叶子结点,应当把当前路径代表的数加进答案里,随后遍历左右子树(若存在)。

时间复杂度和空间复杂度均为 \(O(n)\)

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:void findValue(TreeNode* root, int value, int& ans) {value = value << 1 ^ root->val;if (root->left == nullptr && root->right == nullptr) {ans += value;}if (root->left != nullptr) {findValue(root->left, value, ans);}if (root->right != nullptr) {findValue(root->right, value, ans);}}int sumRootToLeaf(TreeNode* root) {int ans = 0;findValue(root, 0, ans);return ans;}
};
http://www.jsqmd.com/news/409363/

相关文章:

  • 并查集 - How Many Answers Are Wrong
  • 科研前沿篇---论文研究方向
  • 2026.2.24 雅礼总结
  • 基于springboot的城乡商城协作系统(编号:57734107)
  • 科研前沿篇---人工智能网络结构与研究方向
  • 科研前沿篇---网络结构与研究方向
  • MiniMax M2.5模型正式上线,是否真正实现“生产力SOTA ”与“低负担”,如何评价其表现?
  • 莫队学习总结
  • 大数据领域HBase的集群性能调优实战案例
  • 牛批了,文件压缩神器
  • Mobile-O:端侧多模态“理解与生成”大一统的架构
  • AI应用架构师指南:超算调度器的资源预留机制
  • 从展示空间到计算空间视频孪生之上:镜像视界前向空间计算引擎目标未至,空间已算空间连续 · 自动接力 · 趋势推演
  • 解析大数据领域 Kafka 的日志清理策略
  • GrokAI1.1.30-release.12 | 实测可无敏感生图,可生成视频
  • 如何让三维数字化技术落地?思看科技三级认证培训体系赋能用户成长
  • 巴菲特的护城河理论:寻找持久竞争优势
  • P3199 [HNOI2009] 最小圈
  • BiliPai 6.1.3 | B站开源第三方应用,纯净无广流畅
  • TCP三次握手总结
  • 随笔 6
  • 表格速查手册:Burp Suite 高频功能与快捷键(收藏级)
  • 题解:AcWing 891 Nim游戏
  • Django Cookie/Session
  • MCP文献综述:AI与外部世界的标准化交互桥梁
  • AngularJS Scope(作用域)
  • 科普文___三分钟带你看懂AI大模型(图文教程)
  • 实战排坑文:Burp Suite 抓包失败/无法抓HTTPS/爆破慢(问答式)
  • TF-IDF:从公式直觉到工程实现
  • 20260224_220210_非专业也能看懂的AI大模型工作原理!