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驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    MongoDB 基本概念
    MongoDB 设置参数
    MongoDB 操作数据库
    MongoDB 目录分析、基础命令、参数设置
    Windows下MongoDB的下载安装、环境配置
    MongoDB 简介
    SQL与NoSQL
    es6 箭头函数(arrow function) 学习笔记
    WebPack 简明学习教程
    vue自定义指令
  • 原文地址:https://www.cnblogs.com/itdef/p/11407027.html
Copyright © 2011-2022 走看看