Leetcode: 112. Path Sum

问你这棵树有没有哪条从root到leaf的路径,是满足路径上的节点加总起来等於targetsum的?

 
 

思路

呃,用Traversal,然後在找到leaf的时候,检查此时的sum有没有满足,有就return true,没有就要往上扣回到有另外一条路的部分

 
 

程序码

class Solution {
public:
    bool hasPathSum(TreeNode* root, int targetSum) {
        return findPath(root, targetSum, 0);
    }
private:
    bool findPath(TreeNode* curr, int targetSum, int currSum) {
        if (curr == NULL)
            return false;
        
        if (curr->left == NULL && curr->right == NULL)
            return currSum + curr->val == targetSum? true:false;
        
        return findPath(curr->left, targetSum, currSum+curr->val) || \
              findPath(curr->right, targetSum, currSum+curr->val);
    }
};

 
 

只要在判断时没有真的加上去,就不用处理扣回来的问题

参考:
https://leetcode.com/problems/path-sum/discuss/1515918/C%2B%2B-beats-88-DFS


<<:  D29 - 彭彭的课程# Python Pandas 资料分析 - 基础教学

>>:  30天打造品牌特色电商网站 Day.29 网站SEO优化

永远不回头的离职档案管理

或许有人会说:「离职前就给他摆烂,什麽都不要做,以後主管打电话来讨档案,也不要接,反正我不在这间公司...

Day4|【Git】用户名称与信箱- Git的初始设定与 config

💡 开始使用 Git 之前,我们需要先设定使用者名称及电子邮件地址。 为什麽需要设定用户名称及 E-...

Day 01 | 前言与赛程

从 2018 年介绍 Vue 的 UI Framework — Quasar ,到前年的 LINE ...

【踩坑】 gradient 渐层背景要写在哪里?

起初刚学到设定颜色时,都是使用background-color来帮物件或是背景上色 於是在学到 gr...

Day 3 - HTAP

上一篇提到了TiDB的特色之一,便是实践了HTAP。那HTAP又是什麽东西? HTAP全名Hybri...