Java aplicación LeetCode 623 para aumentar su partido (a recorrer el árbol) en el árbol binario

623. El aumento en el árbol binario en una fila

Dado un árbol binario, el nodo raíz de la primera capa, una profundidad de 1. Un primer nodo en el que el valor v línea D de la capa adicional.

Añadir una regla: Dado un valor de profundidad d (número entero positivo), una profundidad de d-1 para cada capa de nodos N no vacío, la creación de dos valores v subárbol izquierdo y subárbol derecho de N.

El subárbol izquierdo de la N original, está conectado al subárbol izquierdo del nuevo nodo v; de N subárbol derecho original, una nueva conexión con el subárbol derecho de nodo v.

Si el valor de d es 1, la profundidad d - 1 no existe, crear un nuevo nodo raíz v, el árbol entero original, servirá como el subárbol izquierdo de v.

Ejemplo 1:

Entrada:
árbol binario es el siguiente:

       4
     /   \
    2     6
   / \   / 
  3   1 5   

v = 1

d = 2

salida:

       4
      / \
     1   1
    /     \
   2       6
  / \     / 
 3   1   5   

Ejemplo 2:

Entrada:
árbol binario es el siguiente:

      4
     /   
    2    
   / \   
  3   1    

v = 1

d = 3

salida:

      4
     /   
    2
   / \    
  1   1
 /     \  
3       1

nota:

la profundidad de entrada de intervalo de valores d es: [1, la profundidad máxima de binario + 1].
Entrada binaria al menos un nodo.

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode addOneRow(TreeNode root, int v, int d) {
 if (d == 0 || d == 1) {
         TreeNode t = new TreeNode(v);
         if (d == 1) t.left = root;
         else t.right = root;
         return t;
     }
     if (root != null && d > 1) {
         root.left = addOneRow(root.left, v, d > 2 ? d - 1 : 1);
         root.right = addOneRow(root.right, v, d > 2 ? d - 1 : 0);
     }
     return root;
    }
}
Liberadas 1679 artículos originales · ganado elogios 20000 + · vistas 3,19 millones +

Supongo que te gusta

Origin blog.csdn.net/a1439775520/article/details/105202696
Recomendado
Clasificación