zoukankan      html  css  js  c++  java
  • 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.

    For example:
    Given the below binary tree and sum = 22,

      	      5
                 / 
                4   8
               /   / 
              11  13  4
             /      / 
            7    2  5   1
    返回[
         [5,4,11,2],
         [5,8,4,5]
       ]

    思路:回溯


    代码:

    class Solution {
    //https://leetcode.com/problems/path-sum-ii/
    public:
        vector<vector<int>> pathSum(TreeNode* root, int sum) {
            vector<int> temp;
            vector< vector<int> >result;
            pathSumHelper(root,sum,temp,result);
            return result;
            //好久时间
        }
        
        void pathSumHelper(TreeNode *root,int sum,vector<int> &temp,vector<vector<int> >&result){
            if(root==NULL){
                return;
            }
            temp.push_back(root->val);
            if(root->left==NULL&&root->right==NULL&&root->val==sum){
                result.push_back(temp);
            }
            pathSumHelper(root->left,sum - root->val,temp,result);
            pathSumHelper(root->right,sum - root->val,temp,result);
            
            temp.pop_back();
        }
    };


  • 相关阅读:
    docker安装部署命令
    kubernetes原理
    kubernetes安装部署
    Ansible安装
    模拟红绿灯(递归与队列)
    数据结构——顺序表
    数据结构——基本概念
    C语言高级编程
    Shell编程
    Shell命令
  • 原文地址:https://www.cnblogs.com/jsrgfjz/p/8519892.html
Copyright © 2011-2022 走看看