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

leetcode 129. 求根节点到叶节点数字之和

2023.9.8

        好久没写回溯题了,有点陌生ToT。 

        本题思路就是通过回溯保存所有根节点到叶子节点的路径,然后将这些路径转化为数字并全部相加。 直接看代码:

/*** 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 {
private:vector<int> path;int ans;//将保存的路径值转化为数字int path2sum(vector<int>& path){int sum = 0;for(int i=0; i<path.size(); i++){sum = sum * 10 + path[i];}return sum;}//回溯void backtrating(TreeNode* cur){//终止条件:遇到了叶子节点if(!cur->left && !cur->right){ans += path2sum(path);return;}if(cur->left){path.push_back(cur->left->val);backtrating(cur->left);path.pop_back();}if(cur->right){path.push_back(cur->right->val);backtrating(cur->right);path.pop_back();}}
public:int sumNumbers(TreeNode* root) {path.push_back(root->val);backtrating(root);return ans;}
};

相关文章:

leetcode 129. 求根节点到叶节点数字之和

2023.9.8 好久没写回溯题了&#xff0c;有点陌生ToT。 本题思路就是通过回溯保存所有根节点到叶子节点的路径&#xff0c;然后将这些路径转化为数字并全部相加。 直接看代码&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tre…...

嵌入式开发-11 Linux下GDB调试工具

目录 1 GDB简介 2 GDB基本命令 3 GDB调试程序 1 GDB简介 GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。 一般来说&#xff0c;GDB主要帮助你完成下面四个方面的功能&#xff1a; 1、启动你的程序&#xff0c;可以按照你的自定义的要求随心所欲的运行程序&#…...

Java测试(11) --- selenium

测试用例方法以teat_开头 运行脚本的时候默认自动会运行test_开头的方法普通方法不以test_开头 普通方法被test_开头的方法调用的时候才会运行测试套件&#xff0c;把不同文件里的不同类里面的不同的测试方法组织起来放在一起运行&#xff08;1&#xff09;addTest 把不同…...

vue3 defineExpose 显示的指定组件需要暴露的属性

简介&#xff1a; 是 vue3 新增的一个 api &#xff0c;用在 <script setup>中使用&#xff0c;用于显示的把组件的属性和方法暴露出来。可用于父子组件通信&#xff0c;子组件使用 defineExpose 将自身的方法或者属性暴露出去&#xff0c;父组件中通过 ref 获取子组件 D…...

算法通关村第十七关:黄金挑战-跳跃游戏问题

黄金挑战-跳跃游戏问题 1. 跳跃游戏 LeetCode 55 https://leetcode.cn/problems/jump-game/ 思路分析 关键是判断能否到达终点&#xff0c;不用管每一步跳跃到哪里&#xff0c;而是尽可能的跳跃到最远的位置 看最多能覆盖到哪里&#xff0c;只要不断更新能覆盖的距离&#x…...

Git GitHub GitLab

1、Git Git是一个开源的分布式版本控制系统&#xff0c;是一种工具软件&#xff0c;用于代码的存储和版本控制。 2、GitHub GitHub是一个基于Git实现的在线代码仓库&#xff0c;是目前全球最大的代码托管平台。 3、GitLab GitLab也是一个基于Git实现的在线代码仓库&#x…...

前端的规范

假如团队中的小伙伴在提交代码时没有遵循规范要求&#xff0c;只写了一个"fix"或"update&#xff0c;这会给其他小伙伴造成困扰&#xff0c;不得不花时间查看代码和推测逻辑。 不仅会浪费了时间和精力&#xff0c;可能会导致项目以下问题&#xff1a; 可读性差…...

嵌入式软件有限状态机的 C 语言实现

状态机模式是一种行为模式&#xff0c;通过多态实现不同状态的调转行为的确是一种很好的方法&#xff0c;只可惜在嵌入式环境下&#xff0c;有时只能写纯C代码&#xff0c;并且还需要考虑代码的重入和多任务请求跳转等情形&#xff0c;因此实现起来着实需要一番考虑。 近日在看…...

面试题常考:LRU缓存

题目&#xff1a; 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&…...

Redis 教程 - 持久化

Redis 教程 - 持久化 在 Redis 中&#xff0c;持久化是指将数据从内存保存到磁盘上&#xff0c;以便在重启或服务器故障后仍能恢复数据。Redis 提供了两种持久化方式&#xff1a;RDB&#xff08;Redis Database&#xff09;和 AOF&#xff08;Append-Only File&#xff09;。本…...

2023 大学生数学建模竞赛-C题-第一问

题目&#xff1a; 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&#xff0c;商超通常会根据各商品的历史销售和需 求情况每天进行补货。 由于商超销…...

设计模式3 观察者模式

一 观察者模式 1.1 概述 观察者模式是一种行为模式&#xff0c;又称之为“发布/订阅”模式&#xff0c;在该模式中被观察的对象叫主题&#xff0c;依赖主题的对象被称为观察者&#xff0c;当主题发生改变时&#xff0c;会通知所有观察者进行更新。多个对象存在一对多的关系&a…...

如何防止网络安全攻击

为了防止网络安全攻击&#xff0c;以下是一些常见的防御措施和建议&#xff1a; 使用强密码&#xff1a;确保使用足够长、复杂且随机的密码&#xff0c;并定期更改密码。不要在多个账户中重复使用相同的密码。 更新和修补软件&#xff1a;定期更新操作系统、应用程序和安全补丁…...

怎么从0到1实现一个PHP框架?

写在前面 本人开发的框架在2021年年初开发完成&#xff0c;后面没有再做过任何维护和修改。是仅供大家参考交流的学习项目&#xff0c;请勿使用在生产环境&#xff0c;也勿用作商业用途。 框架地址&#xff1a; https://github.com/yijiebaiyi/fast_framework 整体思路 开发…...

脚本:python实现樱花树

文章目录 代码效果 代码 from turtle import * from random import * from math import * def tree(n, l):pd () # 下笔# 阴影效果t cos ( radians ( heading () 45 ) ) / 8 0.25pencolor ( t, t, t )pensize ( n / 3 )forward ( l ) # 画树枝if n > 0:b random () *…...

公司内部传文件怎么安全——「用绿盾透明加密软件」

为保证公司内部文件传递的安全性&#xff0c;可以使用天锐绿盾透明加密软件来进行保护。以下是具体的操作步骤&#xff1a; 在公司内部部署天锐绿盾加密软件&#xff0c;确保需要传递的文件都能受到加密保护。 在员工的工作电脑上安装天锐绿盾客户端&#xff0c;并设置好相关的…...

提高使用VS Code工作效率的技巧

提高使用VS Code工作效率的技巧 时间轴视图&#xff1a;本地源代码控制 时间轴视图为我们提供了内置的源代码控制。 我们中的许多人都知道 Git 和其他源代码控制工具有多么有用&#xff0c;它们可以帮助我们轻松跟踪文件更改并在需要时恢复到之前的状态。 因此&#xff0c;…...

软件系统兼容性测试都要注意哪些问题?

兼容性 软件兼容性测试具有相同的含义&#xff0c;它是任何第三方 Web 应用程序测试服务不可分割的一部分。在众多不同的设置中&#xff0c;最重要的是完全的客户满意度&#xff0c;并且可以通过全面的兼容性测试来达到最佳效果。众所周知&#xff0c;软件质量保证是克服 IT 挑…...

索尼 toio™应用创意开发征文|toio俄罗斯方块游戏

目录 引言 摘要 创意简述 准备工作&#xff5c;手工开始 代码编写&#xff5c;合理集成 使用体验&#xff5c;近乎奇妙 引言 索尼toio™编程机器人是一款引领技术创新的产品&#xff0c;为开发者提供了一个全新的编程和创造平台。toio™的设计旨在将技术、塑性和乐趣融为…...

C#事件event

事件模型的5个组成部分 事件拥有者&#xff08;event source&#xff09;&#xff08;类对象&#xff09;&#xff08;有些书将其称为事件发布者&#xff09; 事件成员&#xff08;event&#xff09;&#xff08;事件拥有者的成员&#xff09;&#xff08;事件成员就是事件本身…...

上海生成式引擎优化GEO优选:2026品牌实力与全域智能营销

大模型正在重塑企业被发现、被理解、被比较的路径。过去&#xff0c;企业更关注搜索排名、官网访问和媒体曝光&#xff1b;现在&#xff0c;用户会直接向AI工具询问“上海生成式引擎优化公司哪家好”“上海GEO生成式引擎优化服务商哪家好”“某类企业服务是否值得选择”。这使生…...

OpenClaw API限速机制解析与工程化应对方案

1. 这不是服务器崩了&#xff0c;是OpenClaw在“礼貌地拒客”你刚把OpenClaw集成进自己的数据采集流程&#xff0c;跑通第一个API调用&#xff0c;返回200&#xff0c;心里一热&#xff1b;第二轮批量请求发出去&#xff0c;不到三秒&#xff0c;控制台炸出一行红字&#xff1a…...

Borderless Gaming终极指南:三步搞定无缝游戏窗口切换的魔法

Borderless Gaming终极指南&#xff1a;三步搞定无缝游戏窗口切换的魔法 【免费下载链接】Borderless-Gaming Play your favorite games in a borderless window; no more time consuming alt-tabs. 项目地址: https://gitcode.com/gh_mirrors/bo/Borderless-Gaming 你…...

Montserrat可变字体深度解析:实现响应式排版的最佳实践

Montserrat可变字体深度解析&#xff1a;实现响应式排版的最佳实践 【免费下载链接】Montserrat 项目地址: https://gitcode.com/gh_mirrors/mo/Montserrat Montserrat字体项目是一款源自布宜诺斯艾利斯传统街区的开源字体&#xff0c;以其独特的城市排版风格和灵活的可…...

CANN/asc-devkit最新管理器模块

latest_manager Module Description 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地…...

9. Python 文件与输入输出 深度解析

Python 文件与输入输出 深度解析 目录 Python I/O 概述文件对象与基本操作 2.1 打开文件&#xff1a;open 与模式2.2 读取数据2.3 写入数据2.4 使用 with 自动管理文件 文件指针与随机访问路径操作&#xff1a;os、os.path 与 pathlib 4.1 os 模块与 os.path 基础4.2 现代路径…...

java springboot-vue加油站管理系统的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商项目背景技术架构核心功能模块系统特色部署方式应用场景项目技术支持源码获取详细视频演示 &#xff1a;同行可合作点击我获取源码->->进我个人主页-->获取博主联系方式同行可拿货,招校园代理 ,本人源头供货商 项目背景 加…...

嵌入式开发通用工具包设计:提升效率与代码质量的核心架构

1. 项目概述&#xff1a;为什么嵌入式开发需要一个“工具箱”&#xff1f;干了十几年嵌入式&#xff0c;从8位单片机玩到多核ARM Cortex-A&#xff0c;我最大的感受就是&#xff1a;重复造轮子和调试效率低下是拖慢项目进度的两大元凶。每次新项目启动&#xff0c;都得重新搭建…...

事件相机数据处理与GRU网络硬件加速技术解析

1. 事件相机与GRU网络硬件加速概述事件相机&#xff08;Event Camera&#xff09;是一种革命性的视觉传感器&#xff0c;其工作原理与传统帧式相机截然不同。它通过独立工作的像素阵列异步检测亮度变化&#xff0c;当某个像素的亮度变化超过预设阈值时&#xff0c;会立即生成一…...

从MySQL分区到OceanBase分区:迁移老手教你平滑过渡与性能调优

从MySQL分区到OceanBase分区&#xff1a;迁移老手教你平滑过渡与性能调优 当MySQL分区表遇上OceanBase分布式架构&#xff0c;传统设计思维往往成为性能瓶颈的源头。本文将揭示两种数据库分区机制的本质差异&#xff0c;并提供一套经过生产验证的迁移方法论&#xff0c;帮助您避…...