package com.heu.wsq.leetcode.tree;
/**
* 1022. 从根到叶的二进制数之和
* @author wsq
* @date 2020/12/22
* 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。
* 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。
* 返回这些数字之和。题目数据保证答案是一个 32 位 整数。
*
* 示例 1:
* 输入:root = [1,0,1,0,1,0,1]
* 输出:22
* 解释:(100) + (101) + (110) + (111) = 4 + 5 + 6 + 7 = 22
*
* 链接:https://leetcode-cn.com/problems/sum-of-root-to-leaf-binary-numbers
*/
public class SumRootToLeaf {
private int sum = 0;
public int sumRootToLeaf(TreeNode root){
dfs(root, new StringBuilder());
return sum;
}
private void dfs(TreeNode node, StringBuilder s) {
s.append(node.val);
if (node.left == null && node.right == null){
int num = getNum(s);
sum += num;
s.deleteCharAt(s.length() - 1);
return;
}
if (node.left != null){
dfs(node.left, s);
}
if (node.right != null){
dfs(node.right, s);
}
s.deleteCharAt(s.length() - 1);
}
private int getNum(StringBuilder s) {
int length = s.length();
int tempSum = 0;
for (int i = 0; i < length; i++){
if(s.charAt(i) == '1'){
tempSum += Math.pow(2, length - 1 - i);
}
}
return tempSum;
}
}
相关推荐
加权余量法求解偏微分方程
加权余量法(Weighted Residual Method)是一种数值方法,用于求解偏微分方程(PDEs)。其基本思想是将偏微分方程的残差(或余量)通过加权函数加权,并使加权余量在定义域上为零,从而形成一组代数方程进行求解。
数据结构(六)—— 二叉树(4)回溯
回溯
STM32H7多通道ADC数据采集实战:CubeMX配置ADC1/2/3+DMA/BDMA+Cache避坑全记录
本文详细解析了STM32H7多通道ADC数据采集的实战配置,涵盖CubeMX中ADC1/2/3与DMA/BDMA的协同设置及Cache一致性处理。通过硬件架构分析、DMA优化技巧和Cache避坑指南,帮助开发者实现高精度数据采集,适用于电机控制、环境监测等嵌入式系统。
【二叉树】【回溯】二叉树的所有路径详解【力扣.257】超详细的宝藏教程
【二叉树】【回溯】二叉树的所有路径详解【力扣.257】超详细的宝藏教程 干货满满,不收藏绝对后悔!
【KBrowser】基于 Kiwi/chromium 制作全新外壳,将 chromium 代码当作 webview 使用,实现可控核替换
chromium 其实只需几步巧妙的架构,就能拿来“换核”,甚至可以插件化,实现类似webview.apk 的效果。重新设计界面,不再是差不多的回声。而 Kiwi 基于 chrome 77 ,只有 50 MB。优势是兼容好、可安装扩展。
边缘计算【智能+安全检测】系列教程--使用OpenCV+GStreamer实现真正的硬解码,完全消除马赛克
通过现有博客的GStreamer的解码方式解码,大多情况应该存在上图马赛克的问题,请勿紧张,其实上述url并没有调用硬件解码,后面有调用硬件解码的ULR,我们来在接下来的介绍中释获。通过RTSP协议连接海康威视摄像头将图片送入AI推理,发现OpenCV的VideoCapture使用的是软解码大量消耗了cpu的资源,并无法做到实时数据处理存在5秒钟的延时。只能把解码这部分送到硬件解码器去处理分摊掉cpu的压力,
力扣47-全排列II-c++
一、运行结果 二、题目 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums = [1,1,2] 输出: [[1,1,2], [1,2,1], [2,1,1]] 示例 2: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 提示: 1 <= nums.length <= 8 , -10 <= nums[i] <= 10.
ENSP实验一:防火墙基础配置
配置client(内网)、FTP Server(外网)的IP地址。进入防火墙,输入密码:默认为admin@123。
二叉树搜索序列(回溯)
回溯算法
【python基础】一文掌握 Jupyter Notebook 的使用(超级详细!)
是一个非营利组织,致力于为多种编程语言的交互式计算开发开源软件、开放标准和服务。Jupyter 于 2014 年由 Fernando Pérez 从IPython衍生出来,支持几十种编程语言的执行环境。Jupyter 项目主要开发并支持(.ipynb 文件格式)、JupyterHub和JupyterLab等交互式计算产品。
Codex 100个真实案例 - 用AI自动生成API测试用例(接口测试全覆盖)
API 测试是保障后端质量的关键环节,但手写测试用例既枯燥又容易遗漏。本案例将展示如何用 Codex 从 Swagger/OpenAPI 规范文档自动生成 pytest 测试用例——包括正常流程测试、边界值测试、异常参数测试、性能压力测试,还能自动生成 Mock 数据和精美的 HTML 测试报告。全程自然语言驱动,让 API 测试覆盖率从 0 飙到 90%+!
【刷题】 Leetcode 1022.从根到叶的二进制数之和
本文介绍了1022.从根到叶的二进制数之和的两种解法,深度优先搜索和栈模拟遍历。
【Altium Designer】Off grid pin解决方法
今天我画完原理图编译时,出现了太多的黄色(出现warning警告提示)Off grid pin警告,这个警告并不是原理图电气连接出问题了,而是元器件或器件PIN脚没有和栅格对齐造成的原因。再编译还是出现这个警告。 最后经过不断翻阅网上经验和实践,才最终解决,本经验详细记录了解决该警告的有效方法。 解决方案:以下是问题解决步骤...
LeetCode1022 从根到叶二进制数之和
LeetCode1022 从根到叶二进制数之和 题目描述:给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 以 10^9 + 7 为模,返...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
cc++ leetcode 1022. 从根到叶的二进制数之和
c/c++ leetcode 1022. 从根到叶的二进制数之和 一:题目描述 1022. 从根到叶的二进制数之和 难度简单65 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 以 10^9 + 7 为模,返回这些数字之和。 示例: 输入:[1,
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
Leetcode 1022. 从根到叶的二进制数之和
Leetcode 1022. 从根到叶的二进制数之和 题目 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 返回这些数字之和。题目数据保证答案是一个 32 位 整数。 示例 1: 输入:root = [1,0,1,0,1,0,1] 输出:2
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
leetcode 算法题1022 (简单270) 从根到叶的二进制数之和
leetcode 算法题1022 (简单270) 从根到叶的二进制数之和 题目介绍 给出一棵二叉树,其上每个结点的值都是 0 或 1 。 每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。 例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1, 那么它表示二进制数 01101,也就是 ...
LeetCode 1022.从根到叶的二进制数之和
【LetMeFly】1022.从根到叶的二进制数之和 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。 例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 返回这些数字之和。题目数据保证答案是一个 32 位 整数。
[LeetCode]1022. 从根到叶的二进制数之和
题目 1022. 从根到叶的二进制数之和 1022. 从根到叶的二进制数之和 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。 例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 返回这些数字之和。题目数据保证答案是一个 32 位 整数。 示例 1: 输入:root = [1,0,1
LeetCode 1022. 从根到叶的二进制数之和
LeetCode 1022. 从根到叶的二进制数之和 (二叉树遍历)
【宫水三叶的刷题日记】1022. 从根到叶的二进制数之和
题目描述 这是 LeetCode 上的 1022. 从根到叶的二进制数之和 ,难度为 简单。 Tag : 「DFS」、「BFS」、「二叉树」、「树的遍历」 给出一棵二叉树,其上每个结点的值都是 或 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。 例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 。 对树上的每一片叶子,我们都要找出从根
LeetCode1022.Sum of Root To Leaf Binary Numbers(从根到叶的二进制数之和)
1022.Sum of Root To Leaf Binary Numbers(从根到叶的二进制数之和)DescriptionDifficulty: easyExample 1:Note:分析参考代码 Description Given a binary tree, each node has value 0 or 1. Each root-to-leaf path represents a b...
1022 从根到叶的二进制数之和
给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 返回这些数字之和。题目数据保证答案是一个 32 位 整数。 int res =0; StringBuilder stringBuilder = new StringBuilder();
1792



被折叠的 条评论
为什么被折叠?



