`

Path Sum II (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:
    vector<vector<int> > pathSum(TreeNode *root, int sum) {
        vector<int> tempvec;
        vector<vector<int>> allpath;
        sps(root, sum, tempvec, allpath);
        return allpath;
    }
    
    // train of thought
    //
    void sps(TreeNode* root, int sum, vector<int> &pvec, vector<vector<int>> &allpath) {
        if(!root) return;
        
        if(root->val == sum && !root->left && !root->right) {
            pvec.push_back(root->val);
            allpath.push_back(pvec);
            pvec.pop_back();
            return;
        } 
        
        pvec.push_back(root->val);
        sps(root->left, sum-root->val, pvec, allpath);
        sps(root->right, sum-root->val, pvec, allpath);
        pvec.pop_back();
    }
};

 

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

分享到:
评论

相关推荐

    java-leetcode-113-path-sumII

    java java_leetcode-113-path-sumII

    python-leetcode题解之113-Path-Sum-II

    python python_leetcode题解之113_Path_Sum_II

    js-leetcode题解之113-path-sum-ii.js

    javascript js_leetcode题解之113-path-sum-ii.js

    【leetcode】【medium】113. Path Sum II

    113. Path Sum II Given a binary tree and a sum, find all root-to-leaf paths where each path’s sum equals the given sum. Note: A leaf is a node with no children. Example: Given the below binary tree...

    c++游戏pathfinder

    《C++游戏Pathfinder:探索遗传算法在游戏寻路中的应用》 在计算机科学领域,寻路算法是解决游戏角色或AI在复杂环境中找到最短或最优路径的关键技术。本项目"Pathfinder"是一款使用C++编程语言实现的游戏,它巧妙地...

    java-leetcode题解之Path Sum III.java

    java java_leetcode题解之Path Sum III.java

    c++ 修改注册表设置环境变量

    C++编程语言提供了一种方法来修改这些环境变量,包括通过操作注册表来实现。本文将深入探讨如何在C++中修改注册表设置环境变量,并确保修改后能立即生效。 首先,我们要了解Windows注册表。注册表是Windows系统存储...

    路径画家 2(Path Painter II) V2.1.10

    Path Painter II 在大型多地形环境中工作,让您可以创建您梦想中的关卡设计。多年来,我们看到了令人惊叹的小径、道路、河流、湖泊、丘陵、高原山区、山谷、沙丘,不胜枚举。我们的一些用户喜欢使用 Path Painter ...

    LeetCode -- Path Sum III分析及实现方法

    LeetCode -- Path Sum III分析及实现方法 Path Sum III是LeetCode中的一个经典问题,旨在计算给定二叉树中所有路径的和等于某个给定值的路径数量。下面我们将详细介绍Path Sum III的分析及实现方法。 一、问题描述...

    Prim算法求顶点间shortest path最短距离 C++图实现

    Prim算法求顶点间最短距离,算法学习中经典的shortest path类问题,用图实现,初学者可参考

    解决 Eclipse-CDT 搭建C/C++ 开发环境部分问题

    在使用Eclipse CDT进行C/C++开发时,可能会遇到一系列与环境配置和工具链相关的问题。本篇文章将深入探讨如何解决"Program "g++" not found in PATH"、"Lanuch failed no binaries"以及新建项目时找不到MinGW的问题...

    k shortest Path C++

    首先,我们来看标题"K shortest Path C++",这暗示我们将使用C++编程语言来实现这一算法。C++是一种高效且强大的编程语言,适用于处理复杂的计算任务,因此它是实现图算法的理想选择。 接下来,描述中提到了"D算法...

    java-leetcode-112-path-sum

    java java_leetcode-112-path-sum

    python-leetcode题解之112-Path-Sum

    python python_leetcode题解之112_Path_Sum

    c++函数调用路径callpath,calltree,callflow,profile

    在C++编程中,函数调用是程序执行过程中的核心组成部分。函数调用路径(call path)、调用树(call tree)、调用流(call flow)以及性能分析(profile)都是理解和优化代码性能的关键概念。 1. **函数调用路径...

    C++实现USB HID设备读写代码

    HID设备结构体用于表示HID设备的信息,例如DevicePath、HidDevice、Caps等。这些信息用于实现对HID设备的控制和交互。 10. C++语言在USB HID设备读写中的优势 C++语言在USB HID设备读写中具有以下优势: * 高效的...

    js-leetcode题解之112-path-sum.js

    javascript js_leetcode题解之112-path-sum.js

    Myeclipse搭建C/C++配置

    然后,需要配置MinGW的环境变量,包括path变量、LIBRARY_PATH、C_INCLUDE_PATH和CPLUS_INCLUDE_PATH等。 在安装了MinGW后,需要安装CDT插件。CDT(C/C++ Development Toolkit)是Eclipse的插件,提供了C/C++开发的...

    A simple path finding library; c++最短路径的源代码

    本资源是一个简单的路径寻找库,由C++编写,其核心功能是找到两点间的最短路径。源代码的提供为我们提供了一个学习和理解这些算法的实践案例。 首先,我们要了解的是“最短路径”问题。在图论中,最短路径问题是指...

    ShortestPath_DIJ.zip_ShortestPath_DIJ_c++ ShortestPathDij

    `ShortestPath_DIJ.zip`中的`ShortestPathDij`可能是一个C++程序,实现了上述的迪杰斯特拉算法。通过阅读和分析这个程序,我们可以更深入地理解算法的细节,例如它如何存储和操作图,如何实现优先队列,以及如何有效...

Global site tag (gtag.js) - Google Analytics