博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lintcode---二叉树的路径和
阅读量:7069 次
发布时间:2019-06-28

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

给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。

一个有效的路径,指的是从根节点到叶节点的路径。

样例

给定一个二叉树,和 目标值 = 5:

1    / \   2   4  / \ 2   3

返回:

[  [1, 2, 2],  [1, 4]] 思路:采用递归思想。分两部分,一部分寻找二叉树中的路径(先序遍历),一部分判断路径是否满足要求。
/** * Definition of TreeNode: * class TreeNode { * public: *     int val; *     TreeNode *left, *right; *     TreeNode(int val) { *         this->val = val; *         this->left = this->right = NULL; *     } * } */class Solution {public:    /**     * @param root the root of binary tree     * @param target an integer     * @return all valid paths     */             vector
> vec; vector
temp; void Is_equal(vector
v,int ans){ //判断路径是否满足要求; int sum=0; for(int i=0;i
> binaryTreePathSum(TreeNode *root, int target) { // Write your code here //遍历二叉树,寻找路径并存放入临时容器temp中,并判断是否满足要求; if(root==NULL) { return vec; } temp.push_back(root->val); if(root->left!=NULL){ binaryTreePathSum(root->left,target); } if(root->right!=NULL){ binaryTreePathSum(root->right,target); } if(root->right==NULL&&root->left==NULL){ Is_equal(temp,target); } temp.erase(temp.begin()+temp.size()-1);//清空temp容器,空间和元素都清空; return vec; }};
 

 

 

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

你可能感兴趣的文章
css 梯形标签页
查看>>
我的软考历程(二)网络规划师
查看>>
hive lock监控
查看>>
windows 2008无线网络“没有正确配置为使用IP协议” 错误解决办法
查看>>
php Imagick 实现等比缩放图片
查看>>
JAVA第一次作业
查看>>
Nginx 完整配置说明
查看>>
spark安装
查看>>
常用的shell命令汇总
查看>>
ORA-00283、ORA-01114
查看>>
在linux下安装eclipse以及运行c++程序的安装步骤
查看>>
kprobes调试驱动
查看>>
MySQL C#连接ySQL保存当前时间,时分秒都是0,只有日期
查看>>
Java GC 专家系列5:Java应用性能优化的原则
查看>>
访问网址(使用CDN)时 智能DNS调度 与 用户定位调度(根据IP定位)
查看>>
zencart新增categories分类表字段步骤
查看>>
《阿里技术参考图册》算法与研发篇
查看>>
第一次线程使用经验总结
查看>>
javascript将分,秒,毫秒转换为xx天xx小时xx秒(任何语言通用,最通俗易懂)
查看>>
springboot + shiro+登录 微信登录 次数验证资料
查看>>