Path Sum II
来源:互联网 发布:linux内核组成部分 编辑:程序博客网 时间:2024/06/04 18:41
#include <iostream>#include <vector>#include <queue>using namespace std;struct TreeNode { int val; TreeNode *left, *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};vector<vector<int> > v;class Solution {public:void dfs(TreeNode *p, int cur, int sum, vector<int> v1) //v1若传引用结果为 5 4 11 2 、 5 4 11 2 8 4 5{if(!p)return;if(!p->left && !p->right){if(cur + p->val == sum){v1.push_back(p->val);v.push_back(v1);}return;}v1.push_back(p->val);dfs(p->left, cur + p->val, sum, v1);dfs(p->right, cur + p->val, sum, v1);} vector<vector<int> > pathSum(TreeNode *root, int sum) {v.clear(); //少了这句就WA vector<int> v1;dfs(root, 0, sum, v1); return v; }};int main(void){TreeNode *root = new TreeNode(5);TreeNode *node1 = new TreeNode(4); root->left = node1;TreeNode *node2 = new TreeNode(8);root->right = node2;TreeNode *node3 = new TreeNode(11);node1->left = node3;TreeNode *node4 = new TreeNode(13);node2->left = node4;TreeNode *node5 = new TreeNode(4);node2->right = node5;TreeNode *node6 = new TreeNode(7);node3->left = node6;TreeNode *node7 = new TreeNode(2);node3->right = node7;TreeNode *node9 = new TreeNode(5);node5->left = node9;TreeNode *node8 = new TreeNode(1);node5->right = node8;Solution s;vector<vector<int> > vv = s.pathSum(root, 22);for(vector<vector<int> >::iterator iter = vv.begin(); iter != vv.end(); ++iter){vector<int> t = *iter;for(vector<int>::iterator iter2 = t.begin(); iter2 != t.end(); ++iter2){cout << *iter2 << " ";}cout << endl;}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
- P2P原理及UDP穿透简单说明
- 一个低调的博客建立了。。。。
- CodeForces 283C Coin Troubles 分析+背包思想
- c_str的使用
- Cocos2d-x 3.0---触摸机制
- Path Sum II
- java 之 --------------- String 面试基础的 题
- 从程序员的角度看ASCII, GB2312, UNICODE, UTF-8
- 问题 B : 挂盐水
- 访问google和登陆google account的方法
- ZOJ 2112 Dynamic Rankings
- C语言的那些题 (一) —— 两个数四则运算程序
- QQ 信鸽 (iOS) 小试
- python datetime 和time模块方法汇总