zoukankan      html  css  js  c++  java
  • acwing 47. 二叉树中和为某一值的路径

    地址 https://www.acwing.com/problem/content/description/45/

    输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。

    从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

    给出二叉树如下所示,并给出num=225
         / 
        4   6
       /   / 
      12  13  6
     /      / 
    9    1  5   1
    
    输出:[[5,4,12,1],[5,6,6,5]]

    树的处理 一半是递归

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
       vector<vector<int>> ret;
    
    void findPathInner(TreeNode* root, int sum, vector<int> v)
    {
        sum -= root->val;
        v.push_back(root->val);
    
        if (sum == 0 && root->left == NULL && root->right == NULL) {
            ret.push_back(v);
            return;
        }
    
        if(sum <0 ) return;
    
    
        if (root->left != NULL) {
            findPathInner(root->left, sum, v);
        }
        if (root->right != NULL) {
            findPathInner(root->right, sum, v);
        }
    
    }
    
    
    vector<vector<int>> findPath(TreeNode* root, int sum) {
        if (root == NULL) return ret;
        if (sum == 0) return ret;
    
        vector<int> v;
        sum -= root->val;
        v.push_back(root->val);
        if (sum < 0) return ret;
        if (sum == 0) {
            ret.push_back(v);
            return ret;
        }
        if (root->left != NULL) {
            findPathInner(root->left, sum, v);
        }
        if (root->right != NULL) {
            findPathInner(root->right, sum, v);
        }
    
        return ret;
    }
    
    
    };
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    正在呢 webflux
    reactive reactor
    从早上5:30开始整理资料
    1
    ES基础(四十七)第二部分总结与测验
    ES基础(四十六)Elasticsearch 数据建模最佳实践
    ES基础(四十四)Ingest Pipeline & Painless Script
    ES基础(四十三)Update by Query & Reindex
    ES基础(四十二)文档的父子关系
    ES基础(四十一)对象及Nested对象
  • 原文地址:https://www.cnblogs.com/itdef/p/11407027.html
Copyright © 2011-2022 走看看