Path Sum II
来源:互联网 发布:2017淘宝双11销售冠军 编辑:程序博客网 时间:2024/06/03 16:56
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]]
题目解析:
(1)主要运用的是深度遍历的思想。
(2)因为路径上面的数字有正有负,所以只是在根节点上面判断是否为target。
#include <iostream>#include <vector>using namespace std;struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};void dfs(TreeNode *root,int sum,int target,vector<vector<int> > &res,vector<int> &save){if(root->left == NULL && root->right==NULL){if(root->val + sum == target){save.push_back(root->val);res.push_back(save);save.pop_back();return;}else{return;}}else{save.push_back(root->val);}if(root->left!=NULL){dfs(root->left,sum+root->val,target,res,save);}if(root->right!=NULL)dfs(root->right,sum+root->val,target,res,save);save.pop_back();}vector<vector<int> > pathSum(TreeNode *root, int sum) {vector<vector<int> > res;if(root == NULL)return res;vector<int> save;dfs(root,0,sum,res,save);return res;}int main(void){system("pause");return 0;}
0 0
- LeetCode: Path Sum II
- LeetCode Path Sum II
- [Leetcode] Path Sum II
- LeetCode: Path Sum II
- Path Sum II
- [LeetCode] Path Sum II
- 【leetcode】Path Sum II
- [113]Path Sum II
- Path Sum II
- Path Sum II
- [LeetCode]Path Sum II
- Path Sum II
- Path Sum II
- [Leetcode]Path Sum II
- [leetcode]Path Sum II
- Path Sum II
- Leetcode: Path Sum II
- Path Sum II
- Android试题
- Virtual Treeview 安装以及入门
- jeecms 管理员后台发布内容状态为待审核
- Java开发中的23种设计模式详解
- .htaccess教程:简介、访问控制、验证、目录浏览控
- Path Sum II
- 25个让Java程序员更高效的Eclipse插件
- MFC开启与关闭外部进程
- dp,px,pt,sp 的区别 以及dp 和 px 互转
- hibernate之利用配置文件和annotation往数据库里插入数据
- JS事件:target与currentTarget区别
- HDU 3652 B-number
- table 列排序&行变色&按上下键光标在行上移动&上下移动行并保存DB
- Android源码学习之八—系统启动过程