博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Path Sum ****
阅读量:6413 次
发布时间:2019-06-23

本文共 1392 字,大约阅读时间需要 4 分钟。

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.

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

C++代码:

#include
#include
#include
using namespace std;//Definition for binary treestruct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution{public: bool hasPathSum(TreeNode *root, int sum) { if(root->left==NULL&&root->right==NULL&&(sum-root->val)==0) return true; if(root->left) return hasPathSum(root->left,sum-root->val); if(root->right) return hasPathSum(root->right,sum-root->val); return false; } void createTree(TreeNode *&root) { int i; cin>>i; if(i!=0) { root=new TreeNode(i); if(root==NULL) return; createTree(root->left); createTree(root->right); } }};int main(){ Solution s; TreeNode *root; s.createTree(root); if(s.hasPathSum(root,6)) cout<<"exist"<

运行结果:

转载地址:http://zxdra.baihongyu.com/

你可能感兴趣的文章
移动端的长按事件
查看>>
强制IE浏览器使用IE8模式浏览
查看>>
Mongodb管理中的指令汇总,不定期更新
查看>>
Deskpool安装之:准备Windows XP虚拟机基础镜像
查看>>
pymysql的连接池实现
查看>>
欢迎关注微信公众号——风色年代
查看>>
PHP语法结构
查看>>
ES权威指南[官方文档学习笔记]-18 Distributed nature
查看>>
Xtrabackup--全量备份及恢复(二)
查看>>
Zipkin-1.19.0学习系列7:注解加载
查看>>
Apache Kafka源码剖析:第3篇 Acceptor&Processor细节
查看>>
java异常处理的throw和throws的区别
查看>>
iptables详细解释
查看>>
Linux文本处理工具grep
查看>>
JFinal + Jquery Mobile 日志记录webapp效果图
查看>>
更改掉nginx默认的用户和用户组
查看>>
微服务的「扩展立方」与 Docker 化实践
查看>>
linux 中逻辑卷的扩展和缩减及其快照卷的保存
查看>>
Mac下cocoapods使用说明(2016版)
查看>>
nodejs - json序列化&反序列化示例
查看>>