Skip to content

Commit 8b512b8

Browse files
committed
Time: 1988 ms (5.09%), Space: 448.5 MB (8.04%) - LeetHub
1 parent 6d0a1bd commit 8b512b8

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* struct TreeNode {
4+
* int val;
5+
* TreeNode *left;
6+
* TreeNode *right;
7+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10+
* };
11+
*/
12+
class Solution {
13+
public:
14+
15+
void helper(TreeNode* root, vector<int> freq, int& cnt)
16+
{
17+
if(root)
18+
{
19+
++freq[root->val];
20+
21+
helper(root->left, freq, cnt);
22+
helper(root->right, freq, cnt);
23+
24+
int odd = 0;
25+
26+
if(!root->left and !root->right)
27+
{
28+
for(int i = 0; i < 10; ++i)
29+
{
30+
odd += (freq[i] & 1);
31+
}
32+
33+
cnt += (odd == 1 or odd == 0);
34+
}
35+
36+
--freq[root->val];
37+
}
38+
}
39+
40+
int pseudoPalindromicPaths (TreeNode* root) {
41+
42+
int cnt = 0;
43+
44+
vector<int> freq(10, 0);
45+
46+
helper(root, freq, cnt);
47+
48+
return cnt;
49+
50+
}
51+
};

0 commit comments

Comments
 (0)