博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Leetcode】Path Sum II
阅读量:6575 次
发布时间:2019-06-24

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

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]]
思路:与  不同的是。此题须要保存全部的路径,因此,搜索完左子树的路径后应该继续搜索右子树的路径。

/** * Definition for binary tree * 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
> result; vector
path; pathSumHelper(result, path, root, sum); return result; } private: void pathSumHelper(vector
> &result, vector
&path, TreeNode *node, int sum) { if(node == NULL) return; if(node->left == NULL && node->right == NULL && node->val == sum) { path.push_back(node->val); result.push_back(path); path.pop_back(); return; } path.push_back(node->val); pathSumHelper(result, path, node->left, sum - node->val); pathSumHelper(result, path, node->right, sum - node->val); path.pop_back(); }};

版权声明:本文博主原创文章,博客,未经同意不得转载。

你可能感兴趣的文章
从txt中读入数据到数组中(fscanf)
查看>>
jquery中的事件与动画
查看>>
[转][ASP.NET MVC 小牛之路]12 - Section、Partial View 和 Child Action
查看>>
iOS UIImage扩展方法(category):放大、旋转、合并UIImage、增加渐变层、添加阴影、调节透明度、保存到相......
查看>>
每天一个linux命令(6):mv命令
查看>>
Javascript中document.execCommand()的用法
查看>>
用java查询HBase中某表的一批数据
查看>>
mysql 行锁一则
查看>>
Android之史上最全最简单最有用的第三方开源库收集整理
查看>>
ASP.NET MVC html help
查看>>
iOS8 Core Image In Swift:更复杂的滤镜
查看>>
PDO 用法学习
查看>>
openssl之BIO系列之5---CallBack函数及其控制
查看>>
JavaScript里的类和继承
查看>>
iOS开发- 打包ipa,让别人设备安装你的App
查看>>
使用 HTML5、CSS3 和 MathML 在 EPUB 3 中制作版式丰富的出版物
查看>>
【VirtualBox】端口转发,ssh
查看>>
POJ1422 Air Raid 【DAG最小路径覆盖】
查看>>
iOS:CocosPods的装配和配置ReactiveCocoa
查看>>
HDU 4747 Mex
查看>>