news 2026/7/11 23:48:26

树的练习3--------1022从根到叶的二进制数之和

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
树的练习3--------1022从根到叶的二进制数之和

前言

前面做了一道题目,感觉已经摸到递归大道的门把手了,现在做这个题还是有点模糊,知道怎么去做,但是不知道怎么去实现,现在看完题解以后,又对递归多了一点理解。

题目:点这里

解法

/** * 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 { int sum; void sumRoot(TreeNode* root,int pro){ if(root->left==nullptr&&root->right==nullptr){ sum+=pro*2+root->val; }//递归出口 if(root->left!=nullptr){ sumRoot(root->left,pro*2+root->val); } if(root->right!=nullptr){ sumRoot(root->right,pro*2+root->val); } } public: int sumRootToLeaf(TreeNode* root) { sum=0; sumRoot(root,0); return sum; } };

这个题目的思路就是利用前缀值pro和总值sum配合来求咱们的最终结果,具体过程就是将一条路线从头加到尾,然后回到上一层函数,选择不同子节点,再得到另外的结果,所有的结果加在一起就是最终结果。实现逻辑还是很清晰的,首先递归出口就是当当前根节点是叶子节点时,让sum加上pro×2在加上当前节点的值。然后递归内部 呢,就是利用两个if语句,要么往左走,要么往右走,组成所有可能的组合,得到我们想要的数。

反思

如果想从后往前(从里往外)传递值,就需要利用return;

如果想从前往后(从外往里)传递值,就需要将待传的值放在函数的参数列表上。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 15:47:41

数字孪生是什么?国内外有哪些服务商——技术实力/市场地位深度解析与全景测评

在数字化转型的浪潮中,数字孪生 已从一个前沿概念演变为驱动工业升级、城市治理和商业创新的核心引擎。它不仅是物理世界的虚拟镜像,更是连接数据、模拟与决策的智能化中枢。本文将深入剖析数字孪生的本质,并为您全景式盘点8家国内外领先的服…

作者头像 李华
网站建设 2026/7/1 9:36:55

纯血鸿蒙中的HashMap不支持首选项存储,但是Record就支持

在 纯血鸿蒙&#xff08;HarmonyOS Next&#xff09; 的 ohos.data.preferences&#xff08;首选项&#xff09;中&#xff0c;HashMap 不能直接存储&#xff0c;而 Record<string, T>&#xff08;或普通对象 {}&#xff09;可以通过 JSON 序列化间接支持&#xff0c;其根…

作者头像 李华
网站建设 2026/7/5 14:11:39

手把手教你用7款AI写论文工具:效率飙升100%,告别拖延

你是否也曾面对空白的文档&#xff0c;陷入无尽的拖延&#xff1f;从选题构思、文献查阅、到初稿撰写、格式调整&#xff0c;论文写作的每一步都充满挑战。传统的写作方式不仅耗时耗力&#xff0c;还容易让人产生畏难情绪。幸运的是&#xff0c;人工智能&#xff08;AI&#xf…

作者头像 李华
网站建设 2026/6/26 1:55:19

高效运维新利器-裸金属自动化重装系统

在当今快速发展的数字化时代&#xff0c;面对成百上千台服务器的管理需求&#xff0c;传统手动操作方式已无法满足高效运维的要求。裸金属重装自动化系统可以帮助运维团队快速完成服务器重装、开机、关机、重启等全套操作&#xff0c;真正实现智能化运维。 免费申请试用链接&a…

作者头像 李华
网站建设 2026/6/26 10:55:54

【多模态Grounding】精准识别+定位 营业厅人员行为分析

背景 利用qwen-vl加提示词功能&#xff0c;精准识别营业厅工作人员行为&#xff0c;准确区分顾客与工作人员&#xff0c;并且能够识别工作人员行为、精准定位工作人员&#xff0c;帮助实现相关工作场所的监控管理。 如果只用qwen-vl而不进行提示词工程、流程筛分等工作的话&a…

作者头像 李华