113. Path Sum II
来源:互联网 发布:听歌软件排行 编辑:程序博客网 时间:2024/06/07 02: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]]
/** * 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 {private: vector<vector<int>> result;public: void pathPlus(TreeNode * root, int sum, vector<int> &vec) { if(root->left==NULL && root->right==NULL) { vector<int>::iterator iter = vec.begin(); int totalsum = 0; for( ; iter != vec.end() ; iter++) { totalsum += *iter; } if(totalsum == (sum-root->val)) { vec.push_back(root->val); result.push_back(vec); vec.pop_back(); } return; } cout<<root->val<<endl; vec.push_back(root->val); if(root->left) pathPlus(root->left, sum, vec); if(root->right) pathPlus(root->right, sum, vec); vec.pop_back(); } void pathMinus(TreeNode * root, int sum, vector<int> &vec) { if(root->left==NULL && root->right==NULL && sum == root->val) { vec.push_back(root->val); result.push_back(vec); vec.pop_back(); return; } cout<<root->val<<endl; vec.push_back(root->val); if(root->left) pathMinus(root->left, sum-root->val, vec); if(root->right) pathMinus(root->right, sum-root->val, vec); vec.pop_back(); } vector<vector<int>> pathSum(TreeNode* root, int sum) { if (root == NULL) return vector<vector<int>>(); vector<int> vec; pathPlus(root, sum, vec); return result; }};
阅读全文
0 0
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 113. Path Sum II
- 数组、对象数组转化成JSON对象的情况
- 解决锁死数据库的sql
- angularjs添加排序查询
- android 屏幕高度、状态栏高度、titlebar高度详解
- tensorflow中变量的保存和加载
- 113. Path Sum II
- 超链接向后台传值含有日期
- 表格 -隔行换色
- bzoj2330: [SCOI2011]糖果
- SparkCore 知识点 (一)
- shell 随记
- RESTful API
- 图片二次采样
- mysql 实现主从复制 和 主主复制。