`

Path Sum I (C++)

 
阅读更多
/**
 * Definition for binary tree
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool hasPathSum(TreeNode *root, int sum) {
        if(!root) return false;
        
        if(root->val == sum && !root->left && !root->right) return true;
        
        bool lf = hasPathSum(root->left, sum-root->val);
        bool rf = hasPathSum(root->right, sum-root->val);
        
        return lf||rf;
    }
};

 

欢迎关注微信公众号——计算机视觉:

分享到:
评论

相关推荐

    算法(c++)——数字三角形问题.rar

    在上述代码中,`maxPathSum`函数是核心,它接收一个表示数字三角形的二维向量,返回最大路径和。`main`函数则负责读取输入数据,初始化三角形,并调用`maxPathSum`计算结果。 值得注意的是,实际问题可能涉及到更...

    C#加载C++\C的DLL动态链接库

    如果DLL不在C#应用程序的可执行文件同一目录下,需要提供完整的路径,或者将其放在系统PATH环境变量所包含的目录中。 除了`DllImport`,还可以使用`Managed C++`或`C++/CLI`创建一个中间层,该中间层可以作为C#和...

    C++builder2010 操作Excel

    Excel->Workbooks->Open("C:\\path\\to\\your\\file.xlsx"); // 或者创建新工作簿 Excel->Workbooks->Add(); ``` 在C++Builder中,工作簿由`TWorkbook`对象表示,工作表则由`TWorksheet`对象表示。你可以通过索引来...

    手稿_V1.0110

    在C++代码中,`Solution`类提供了`pathSum`方法,这是解决问题的入口。它首先初始化路径计数`ret_val`和目标和`target_sum`,然后根据根节点是否为空来决定是否执行BFS。在BFS的过程中,每次从队列中取出一个节点,...

    计算md5值的C++类

    std::ifstream file("path_to_file"); char buffer[CHUNK_SIZE]; while (file.read(buffer, CHUNK_SIZE)) { md5.update(buffer, file.gcount()); } if (!file.eof()) { md5.update(buffer, file.gcount()); } std:...

    VC11 C++ 编译器

    auto sum = [](int a, int b) -> int { return a + b; }; ``` 4. **变长模板参数**:C++11允许在模板定义中使用`...`来表示可变数量的参数,方便编写泛型代码。 5. **nullptr**:代替`NULL`和`0`,`nullptr`是...

    MD5验证的c++代码

    std::string filePath = "your_file_path"; std::string md5Sum = calculateMD5(filePath); std::cout 文件的MD5值: " << md5Sum ; return 0; } ``` 在实际应用中,你可能还需要处理文件不存在、权限问题等异常...

    数字三角形(C语言编写) 算法

    在主函数中,提供数字三角形的输入数据,并调用maxPathSum函数求解最大路径和。 数字三角形问题不仅锻炼了程序员的逻辑思维能力,也是对动态规划思想的一种实践应用。通过理解和掌握这种算法,可以进一步拓展到其他...

    Vs_Python.rar用python调用c++写的dll

    my_dll = ctypes.cdll.LoadLibrary("path_to_your_dll.dll") # 定义函数原型 sum_func = my_dll.sum sum_func.argtypes = [ctypes.c_int, ctypes.c_int] sum_func.restype = ctypes.c_int diff_func = my_dll.diff...

    2012全国计算机二级C语言(C++)上机编程题技巧总结和答案.pdf

    sum += i; } } return sqrt(sum); } ``` 4. **使用简便方法**: - 这种方法旨在提高效率,但可能需要对C语言有深入理解。例如,删除字符串中非前导的*号,可以使用字符串处理函数: ```c void fun(char *...

    素数环.zip

    int sum = path[i] + path[(i + 1) % path.size()]; if (!isPrime(sum)) return false; } return true; } ``` 在这个解决方案中,`generatePrimeRing`函数是主函数,`dfs`是进行深度优先搜索的递归函数,`...

    C++OpenCV3源代码离散傅里叶变换

    Mat img = imread("path_to_image.jpg", IMREAD_GRAYSCALE); if (img.empty()) { cout ; return -1; } // 预处理 Mat padded; int m = getOptimalDFTSize(img.rows); int n = getOptimalDFTSize(img....

    C++OpenCV3源代码bilateralFilter函数用法

    f(x) = \frac{\sum_{y \in N(x)} G_s(y-x) \cdot G_r(I(y)-I(x)) \cdot I(y)}{\sum_{y \in N(x)} G_s(y-x) \cdot G_r(I(y)-I(x))} $$ 其中,$f(x)$表示滤波后的结果,$N(x)$表示像素$x$的邻域范围。 #### 三、...

    二叉树中和为某一值的路径1

    类中有一个公开方法`pathSum`,这是主要的接口函数,接受一个树的根节点`root`和目标和`sum`作为参数。 `pathSum`函数首先检查根节点是否为空,如果为空则直接返回空路径列表。然后调用`recursion`辅助函数进行深度...

    精彩编程与编程技巧-MDB文件的导出 ---- 使用 DAO...

    Set db = Workspaces(0).OpenDatabase("C:\path\to\biblio.mdb") ``` - **执行SQL语句**: - `db.Execute`方法用于执行SQL命令。 - 示例代码: ```vb db.Execute "SELECT * FROM authors" ``` #### 4. 导出...

    最新整理]微软等公司数据结构+算法面试100题[第1-80题]

    vector<vector<int>> pathSum(TreeNode* root, int sum) { vector<vector<int>> result; vector<int> path; dfs(root, sum, path, result); return result; } void dfs(TreeNode* node, int target, vector...

    tif和jpg,tif的转换

    foreach (var file in Directory.GetFiles("path_to_images", "*.tiff")) // 可以改为*.jpg { images.Add(Image.FromFile(file)); } Bitmap combinedImage = new Bitmap(images[0].Width, images.Sum(img => img....

    基于OpenMP的多核程序设计

    \[ F(u, v) = \frac{1}{MN} \sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x, y) e^{-j2\pi (\frac{ux}{M} + \frac{vy}{N})} \] 为了并行化二维FFT,文中建议使用#pragma omp parallel for指令。这里,OpenMP能够把外部循环...

Global site tag (gtag.js) - Google Analytics