Tree - 112. Path Sum
时间:2022-07-25
本文章向大家介绍Tree - 112. Path Sum,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
112. Path Sum
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.
Note: A leaf is a node with no children.
Example:
Given the below binary tree and sum = 22
,
5
/
4 8
/ /
11 13 4
/
7 2 1
return true, as there exist a root-to-leaf path 5->4->11->2
which sum is 22.
思路:
题目意思是问根节点叶子节点的路径有没有求和之后等于
sum
,很简单的题目,和257题类似,递归求解。
代码:
go:
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func hasPathSum(root *TreeNode, sum int) bool {
var res bool
if root == nil {
return false
}
recursive(root, &res, root.Val, sum)
return res
}
func recursive(node *TreeNode, res *bool, val int, sum int) {
if node.Left == nil && node.Right == nil && val == sum {
*res = true
}
if node.Left != nil {
recursive(node.Left, res, node.Left.Val + val, sum)
}
if node.Right != nil {
recursive(node.Right, res, node.Right.Val + val, sum)
}
}
- 详解c++指针的指针和指针的引用
- QTableView 一列添加两个按钮
- [个人翻译]Redis 集群教程(上)
- Docker实践--部署Nodejs应用
- 【权限的思考】(一)使用反射实现动态权限
- 【swift学习笔记】一.页面转跳的条件判断和传值
- 【swift学习笔记】二.页面转跳数据回传
- 【swift学习笔记】三.使用xib自定义UITableViewCell
- 【swift学习笔记】四.swift使用Alamofire和swiftyJson
- 【swift学习笔记】五.使用枚举优雅的管理Segue
- 【swift学习笔记】六.访facebook登录页面
- Docker Stack 部署web集群
- Docker部属Nsq集群
- Go 单例模式[个人翻译]
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python smtp邮件发送模块用法教程
- Python3基于print打印带颜色字符串
- Python StringIO及BytesIO包使用方法解析
- PHP设计模式之PHP迭代器模式讲解
- 简单实用的PHP文本缓存类实例
- Keras 实现加载预训练模型并冻结网络的层
- Django-imagekit的使用详解
- Python类super()及私有属性原理解析
- Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
- 简单了解Python多态与属性运行原理
- 树莓派升级python的具体步骤
- keras中的loss、optimizer、metrics用法
- Django中F函数的使用示例代码详解
- 详解pandas获取Dataframe元素值的几种方法
- pandas数据处理之绘图的实现