leetcode caminho soma II

árvore binária? E o caminho!

Título
Dada uma árvore binária e um alvo e encontrar todos os caminhos do nó de raiz para o nó folha é igual à soma do caminho eo destino dado.
Descrição: nó folha é um nó não tem nós filhos.

Exemplos
Exemplo:
Dada a seguinte árvore binária, e o alvo e soma = 22,

          5
         / \
        4   8
       /   / \
      11  13  4
     /  \    / \
    7    2  5   1

Returns:
[
[5,4,11,2],
[5,8,4,5]
]

análise tópico

  • Objetivo: encontrar todos os caminhos a partir da raiz para o nó folha ⇒ sua junção é igual ao valor-alvo
  1. Encontrar o caminho da raiz para o nó folha ⇒ solução recursiva
  2. Se o nó é igual à soma do caminho valor de destino ⇒ Add

idéias de solução de problemas

variável efeito
encontrar() Procura a função caminho

processo

  1. ⇒ Adicionar nó atual para atualizar o caminho do nó e
  2. Analisando o nó é igual à soma do valor alvo e o nó atual é um nó folha, se a condição for satisfeita ⇒ adicionar o caminho para a resposta
  3. Se a sub-árvore esquerda não está vazio ⇒ atualização deixou nó filho ao nó atual, repita 2,3,4
  4. Se a sub-árvore direita não está vazio ⇒ atualização nós filhos certas para o nó atual, repita 2,3,4

Código é a seguinte

void find(TreeNode*root, int add, int sum, vector<int> path, vector<vector<int>> &ans)
 {
     add += root->val;                             //更新结点和
     path.push_back(root->val);                    //当前结点加入路径
     if(add == sum&&!root->left&&!root->right) ans.push_back(path);  
        if(root->left) find(root->left,add,sum,path,ans);
        if(root->right) find(root->right,add,sum,path,ans);
 } 
class Solution {
public:
    vector<vector<int>> pathSum(TreeNode* root, int sum) {
        if(!root) return{};
        vector<vector<int>> ans;
        vector<int> path;
        int add =0;
        find(root, add, sum, path, ans);
        return ans;
    }
};
Publicado 34 artigos originais · ganhou elogios 0 · Visualizações 576

Acho que você gosta

Origin blog.csdn.net/Luyoom/article/details/104860955
Recomendado
Clasificación