编辑
2023-11-25
算法题
00
请注意,本文编写于 532 天前,最后修改于 532 天前,其中某些信息可能已经过时。

题目

cpp
class Solution { public: int pseudoPalindromicPaths(TreeNode* root) { return dfs(root, 0); } private: int dfs(TreeNode* node, int count) { if (!node) { return 0; } // 更新当前节点值的出现次数 count ^= (1 << (node->val - 1)); // 如果是叶子节点,判断路径是否伪回文 if (!node->left && !node->right) { // 如果二进制表示中最多只有一个 1,则是伪回文路径 return (count & (count - 1)) == 0; } // 非叶子节点,递归计算左右子树 return dfs(node->left, count) + dfs(node->right, count); } };

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!