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

【从零开始】二叉树全攻略(02):递归与回溯 二叉树递归与回溯 阅读详情
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;
    }
}

1022 从根到叶的二进制数之和 题目描述: 给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 以 10^9 + 7 为模,返回这些数字之和。 示例: 输入:[1,0,1,0,1,0,1] 输出:22 解释:(100) + (101) + (110) + (111) = 4 + 5 阅读详情

相关推荐

加权余量法求解偏微分方程

加权余量法(Weighted Residual Method)是一种数值方法,用于求解偏微分方程(PDEs)。其基本思想是将偏微分方程的残差(或余量)通过加权函数加权,并使加权余量在定义域上为零,从而形成一组代数方程进行求解。

leizhengshenglzs的博客 1792

数据结构(六)—— 二叉树(4)回溯

回溯

weixin_42690036的博客 1459

STM32H7多通道ADC数据采集实战:CubeMX配置ADC1/2/3+DMA/BDMA+Cache避坑全记录

本文详细解析了STM32H7多通道ADC数据采集的实战配置,涵盖CubeMX中ADC1/2/3与DMA/BDMA的协同设置及Cache一致性处理。通过硬件架构分析、DMA优化技巧和Cache避坑指南,帮助开发者实现高精度数据采集,适用于电机控制、环境监测等嵌入式系统。

weixin_28744613的博客 292

【二叉树】【回溯】二叉树的所有路径详解【力扣.257】超详细的宝藏教程

【二叉树】【回溯】二叉树的所有路径详解【力扣.257】超详细的宝藏教程 干货满满,不收藏绝对后悔!

系统编程、网络编程 2780

【KBrowser】基于 Kiwi/chromium 制作全新外壳,将 chromium 代码当作 webview 使用,实现可控核替换

chromium 其实只需几步巧妙的架构,就能拿来“换核”,甚至可以插件化,实现类似webview.apk 的效果。重新设计界面,不再是差不多的回声。而 Kiwi 基于 chrome 77 ,只有 50 MB。优势是兼容好、可安装扩展。

sinat_27171121的博客 2029

边缘计算【智能+安全检测】系列教程--使用OpenCV+GStreamer实现真正的硬解码,完全消除马赛克

通过现有博客的GStreamer的解码方式解码,大多情况应该存在上图马赛克的问题,请勿紧张,其实上述url并没有调用硬件解码,后面有调用硬件解码的ULR,我们来在接下来的介绍中释获。通过RTSP协议连接海康威视摄像头将图片送入AI推理,发现OpenCV的VideoCapture使用的是软解码大量消耗了cpu的资源,并无法做到实时数据处理存在5秒钟的延时。只能把解码这部分送到硬件解码器去处理分摊掉cpu的压力,

Starry-SkyJing的博客 2427

力扣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.

TLJava^v^的博客 521

ENSP实验一:防火墙基础配置

配置client(内网)、FTP Server(外网)的IP地址。进入防火墙,输入密码:默认为admin@123。

Carohuan的博客 1万+

二叉树搜索序列(回溯)

回溯算法

少渊的博客 1292

【python基础】一文掌握 Jupyter Notebook 的使用(超级详细!)

是一个非营利组织,致力于为多种编程语言的交互式计算开发开源软件、开放标准和服务。Jupyter 于 2014 年由 Fernando Pérez 从IPython衍生出来,支持几十种编程语言的执行环境。Jupyter 项目主要开发并支持(.ipynb 文件格式)、JupyterHub和JupyterLab等交互式计算产品。

数据知道的博客 1万+

Codex 100个真实案例 - 用AI自动生成API测试用例(接口测试全覆盖)

API 测试是保障后端质量的关键环节,但手写测试用例既枯燥又容易遗漏。本案例将展示如何用 Codex 从 Swagger/OpenAPI 规范文档自动生成 pytest 测试用例——包括正常流程测试、边界值测试、异常参数测试、性能压力测试,还能自动生成 Mock 数据和精美的 HTML 测试报告。全程自然语言驱动,让 API 测试覆盖率从 0 飙到 90%+!

yueyeguzhuo的专栏 271

【刷题】 Leetcode 1022.从根到叶的二进制数之和

本文介绍了1022.从根到叶的二进制数之和的两种解法,深度优先搜索和栈模拟遍历。

叫我龙翔的博客 1707

【Altium Designer】Off grid pin解决方法

​今天我画完原理图编译时,出现了太多的黄色(出现warning警告提示)Off grid pin警告,这个警告并不是原理图电气连接出问题了,而是元器件或器件PIN脚没有和栅格对齐造成的原因。再编译还是出现这个警告。 最后经过不断翻阅网上经验和实践,才最终解决,本经验详细记录了解决该警告的有效方法。 解决方案:以下是问题解决步骤... ​

夜半少年的博客 7550

LeetCode1022 从根到叶二进制数之和

LeetCode1022 从根到叶二进制数之和 题目描述:给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。 对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。 以 10^9 + 7 为模,返...

trolling的博客 232

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,

qq_45569601的博客 315

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

weixin_43891775的博客 196

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,也就是 ...

FYuu95100的博客 277

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

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

<font color="Pink">Tisfy的博客</font> 457

[LeetCode]1022. 从根到叶的二进制数之和

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

wat1r的博客 199

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

LeetCode 1022. 从根到叶的二进制数之和 (二叉树遍历)

m0_38045911的博客 193

【宫水三叶的刷题日记】1022. 从根到叶的二进制数之和

题目描述 这是 LeetCode 上的 1022. 从根到叶的二进制数之和 ,难度为 简单。 Tag : 「DFS」、「BFS」、「二叉树」、「树的遍历」 给出一棵二叉树,其上每个结点的值都是  或  。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。 例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是  。 对树上的每一片叶子,我们都要找出从根

宫水三叶的刷题日记 357

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...

redtongue的博客 408

1022 从根到叶的二进制数之和

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

Pausch的博客 371
上一篇: 112. 路径总和
下一篇: 1022. 从根到叶的二进制数之和
Lazy mode
博客等级 码龄10年 13粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值