LeetCode Path Sum II
2014-03-11 19:39
330 查看
没什么新意,就是在遍历到叶子节点的时候把一个结果存入结果集中,注意恢复临时结果。
void pathSumRecursive(TreeNode *root,int sum,vector<int> &oneresult,vector<vector<int> > &ret) { if (root->left==NULL&&root->right!=NULL) { oneresult.push_back(root->val); pathSumRecursive(root->right,sum - root->val,oneresult,ret); oneresult.pop_back(); } else { if (root->left!=NULL&&root->right==NULL) { oneresult.push_back(root->val); pathSumRecursive(root->left,sum - root->val,oneresult,ret); oneresult.pop_back(); } else { if (root->left!=NULL&&root->right!=NULL) { oneresult.push_back(root->val); pathSumRecursive(root->left,sum - root->val,oneresult,ret); oneresult.pop_back(); oneresult.push_back(root->val); pathSumRecursive(root->right,sum - root->val,oneresult,ret); oneresult.pop_back(); } else { if(sum == root->val) { oneresult.push_back(root->val); ret.push_back(oneresult); oneresult.pop_back(); } else return ; } } } } vector<vector<int> > pathSum(TreeNode *root, int sum) { vector<int> temp; vector<vector<int> > ret; if(root==NULL) return ret; pathSumRecursive(root,sum,temp,ret); return ret; }
相关文章推荐
- 处理大并发之二 对epoll的理解,epoll客户端服务端代码
- 这个问题呀?
- 让 QtWebkit 支持跨域CROS - nowboy的CSDN博客 - 博客频道 - CSDN.NET
- Combination Sum
- [LeetCode]Distinct Subsequences
- 包及多态
- 作业6(20140311)
- 基于Mahout的电影推荐系统
- Shell调试篇 转
- 【转载】#336 - Declaring and Using a readonly Field
- poj3692_Kindergarten
- 字符串中某子序列的个数 Distinct Subsequences
- IIS 伪静态配置(安装ISAPI_Rewrite配置)
- gvim中Mapping already in use: "<LocalLeader>is", mode "n"错误解决
- 如何创建C#版浮动工具栏?
- C++读写ini配置文件
- SET UPDATE TASK LOCAL
- 数据挖掘十大经典算法
- 一切都那么遥远
- node.js初恋