Path Sum III

来源:互联网 发布:cf积分刷点卷软件 编辑:程序博客网 时间:2024/06/07 04:42

给定一个定值和一个二叉树,要求返回路径之和等于定值的条数,可以不从头节点开始

struct TreeNode {     int val;     TreeNode *left;     TreeNode *right;
     TreeNode(int x) : val(x), left(NULL), right(NULL) {} };
参考discuss

class Solution {public:    int help(TreeNode* root, int sum, unordered_map<int, int>& store, int pre) {        if (!root) return 0;        root->val += pre;        int res = (root->val == sum) + (store.count(root->val - sum) ? store[root->val - sum] : 0);        store[root->val]++;        res += help(root->left, sum, store, root->val) + help(root->right, sum, store, root->val);        store[root->val]--;        return res;    }    int pathSum(TreeNode* root, int sum) {        unordered_map<int, int> store;        return help(root, sum, store, 0);    }};
用关联容器记录从根节点开始到某个节点的权值之和,当有这样的路径出现时,用关联容器的关键值减去定值sum,差值必然会出现在关联容器中




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 步兵太苦还有一年怎么办 检法事业编怎么办最新 河北省事业单位改企编制怎么办 梦飞去虎牙锐雯怎么办 蚂蚁借呗还款钱没到账怎么办 蚂蚁借呗没有按时还款怎么办 新装的win7没有网卡驱动怎么办 3d电影没眼睛怎么办 看vr手机发烫变卡怎么办 vr眼镜头晕想吐怎么办 程序员年龄大了失业怎么办 事业人员编制在机关任职改革怎么办 老公出轨死不承认怎么办 2017年军自考毕业证怎么办 大腿酸痛肌肉萎缩怎么办一 习惯不了军训一起洗澡怎么办 脚着凉了有点痛怎么办 腿着凉了膝盖疼怎么办 下雨了脚着凉了怎么办 军训中被教官训怎么办 命根子根部长豆豆很痒怎么办? 屁股坏了化脓了怎么办 貔貅屁股摔坏了怎么办 当兵身高差4厘米怎么办 查体戴眼镜视力达不到怎么办 公司福利体检查乙肝怎么办 有乙肝每年福利体检怎么办 国企有乙肝每年福利体检怎么办 单位福利体检查乙肝怎么办 事业单位每年福利体检有乙肝怎么办 高考失利后我该怎么办 初三了科学总是考不好怎么办 初三学生三模考的不好怎么办 高考体检检查出乙肝怎么办 高考体检单丢了怎么办 小腿弯曲没发育好怎么办? 辅警考试体能测试不合格怎么办 跑步跑不动怎么办腿软 人胖跑步跑不动怎么办 不工作每天很累怎么办 电大本科文凭毕业证掉了怎么办