Path Sum II
来源:互联网 发布:淘宝钱货一方 编辑:程序博客网 时间:2024/05/18 09:04
/** * 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<vector<int> > pathSum(TreeNode *root, int sum) { vector<vector<int> > ret; if(!root) return ret; //postorder traversal vector<TreeNode *> v; TreeNode *pNode=root; TreeNode *pre=0; while(!v.empty() || pNode) { if(pNode) { v.push_back(pNode); pNode=pNode->left; } else { TreeNode *top=v[v.size()-1]; if(pre==top->right) { if(!top->left && !top->right) { if(sum==getSum(v)) { vector<int> result; for(size_t i=0;i!=v.size();i++) { result.push_back(v[i]->val); } ret.push_back(result); } } v.pop_back(); pre=top; } else { pNode=top->right; pre=0; } } } return ret; }private: int getSum(vector<TreeNode*> &v) { int sum=0; for(size_t i=0;i!=v.size();i++) { sum+=v[i]->val; } return sum; }};
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
- iOS应用开发最佳实践:编写高质量的Objective-C代码
- Facebook的56个性别,都是啥意思?
- 第三方登录开发-新浪微博
- 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三
- 随笔2014-2-18
- Path Sum II
- 构造与析构(上)
- Java Map遍历方式的选择
- SNC航拍作品赏析第一季
- Hadoop:hadoop.job.ugi
- VI的设计思想及使用
- 【题解】[wikioi2520]上学路线
- ios开发---将TableViewCell选中样式改为无色
- 互联网思维下的传统企业转型思考