LeetCode 437. Path Sum III (STL map前缀和)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 437. Path Sum III (STL map前缀和)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
找遍所有路徑,特判以根為起點(diǎn)的串即可。
代碼:
/*** 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 { public:int ans = 0;map <int, int> m;int pathSum(TreeNode* root, int sum) { findSum(root, sum, 0);return ans;}void findSum(TreeNode *node, int sum, int num){if(node == NULL) return;num += node->val;if(num == sum) ans += m[0]+1;else ans += m[num-sum];m[num]++;findSum(node->left, sum, num);findSum(node->right, sum, num);m[num]--;}};總結(jié)
以上是生活随笔為你收集整理的LeetCode 437. Path Sum III (STL map前缀和)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 744. Find S
- 下一篇: LeetCode 190. Revers