Suma de caminos II


Problema : proporcione la raíz del nodo raíz del árbol binario y un objetivo entero y targetSum, encuentre todas las rutas desde el nodo raíz hasta el nodo hoja para que la suma de las rutas sea igual a la suma objetivo dada.

Los nodos hoja son nodos que no tienen nodos secundarios.

Inserte la descripción de la imagen aquí

Análisis:
podemos utilizar el método de búsqueda en profundidad para enumerar cada ruta desde el nodo raíz hasta el nodo hoja. Cuando recorremos el nodo hoja, y la suma de la ruta es solo la suma objetivo, hemos encontrado una ruta que satisface las condiciones.

Código:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */

class Solution {
    
    
    public List<List<Integer>> pathSum(TreeNode root, int sum) {
    
    
      List<List<Integer>> ans = new ArrayList<>();
      List<Integer> path=new ArrayList<>();
        int path_value=0;
        dfs(root,sum,path_value,path,ans);
        return ans;  
    }
    public void dfs(TreeNode root, int sum,int path_value,List<Integer> path, List<List<Integer>> ans){
    
      
       if(root==null){
    
    
           return;
       } 
        path_value+=root.val;
        path.add(root.val);
        if(root.left==null && root.right==null && path_value==sum){
    
    
            ans.add(new ArrayList<Integer>(path));
        }
        dfs(root.left,sum,path_value,path,ans);
        dfs(root.right,sum,path_value,path,ans);
        path_value-=root.val;
        path.remove(path.size()-1);
        }
    }



Fuente: LeetCode
Enlace: https://leetcode-cn.com/problems/path-sum-ii Los
derechos de autor son propiedad de LeetCode . Para reimpresiones comerciales, comuníquese con la autorización oficial. Para reimpresiones no comerciales, indique la fuente.

Supongo que te gusta

Origin blog.csdn.net/weixin_42120561/article/details/114372985
Recomendado
Clasificación