博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【一天一道LeetCode】#113. Path Sum II
阅读量:4197 次
发布时间:2019-05-26

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

一天一道LeetCode

本系列文章已全部上传至我的github,地址:

欢迎大家关注我的新浪微博,
欢迎转载,转载请注明出处

(一)题目

Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum equals the given sum.

For example:

Given the below binary tree and sum = 22,

5        / \       4   8      /   / \     11  13  4    /  \    / \   7    2  5   1

return

[

[5,4,11,2],
[5,8,4,5]
]

(二)解题

题目大意:给定一个二叉树和一个整数,求所有根节点到叶子节点上的节点值的和等于该整数的路径。

相比于上一题,,本题需要保存该路径上的所有节点的值。

解题思路还是一样,但是需要用一个vector来存储路径上的节点。

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    vector
> pathSum(TreeNode* root, int sum) { vector
> ret;//用来存放结果 if(root==NULL) return ret; dfsTree(root,sum,0,ret,vector
(0)); return ret; } //cur:当前路径上的节点值和 //ret:符合条件的路径的集合 //temp:当前路径上的节点集合 void dfsTree(TreeNode* root, int& sum,int cur ,vector
>& ret,vector
temp) { temp.push_back(root->val); cur += root->val; if(root->left==NULL&&root->right==NULL)//判断是叶子节点 { if(cur == sum) ret.push_back(temp);//满足条件就压入集合 return; } if(root->left!=NULL) dfsTree(root->left,sum,cur,ret,temp);//遍历左子树 if(root->right!=NULL) dfsTree(root->right,sum,cur,ret,temp);//遍历右子树 }};
你可能感兴趣的文章
在C++中如何实现模板函数的外部调用
查看>>
HTML5学习之——HTML 5 应用程序缓存
查看>>
HTML5学习之——HTML 5 服务器发送事件
查看>>
hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>
kermit的安装和配置
查看>>
linux中cat命令使用详解
查看>>
java中的异常机制
查看>>
商务智能-基本方法-数据钻取
查看>>
openstack-instance-high-availability-Evacuate
查看>>
evacuate-instance-automatically
查看>>
pycharm常用设置(keymap设置及eclipse常用快捷键总结)
查看>>
关于在openstack的环境变量.bashrc自定自己简化命令
查看>>
Openstack Heat Project介绍(转)
查看>>
How to Perform an Upgrade from Icehouse to Juno(ice升级到juno)
查看>>
高扩展性网站的50条原则(转)-思维导图
查看>>
解决openstack novnc一段时间后自动挂断登录不上问题,novncproxy dead but pid file exists
查看>>
构建OpenStack的云基础架构:ManageIQ(转)
查看>>
云管理软件 ManageIQ(转)
查看>>