[LeetCode] 199. Vista derecha del árbol binario

Niu es una palabra, qué puedo decir, pensé en atravesar el nodo más a la derecha cada vez, pero también pensé que si hay una capa de nodos con solo la mitad izquierda y no la mitad derecha, no es fácil obtenerlo Use BFS para recorrer, obtenga el último número cada vez, cansarse.

/ ** 
 * Definición para un nodo de árbol binario. 
 * public class TreeNode { 
 * int val; 
 * TreeNode a la izquierda; 
 * TreeNode derecho; 
 * TreeNode (int x) {val = x; } 
 *} 
 * / 
clase Solución {
     public List <Integer> rightSideView (TreeNode root) { 
        List <Integer> res = new ArrayList <> ();
        if (root == null ) {
             return res; 
        } 
        Queue <TreeNode> queue = new LinkedList <> (); 
        queue.offer (root);
        while (! queue.isEmpty ()) {
             int size = queue.size ();
            for ( int i = 0; i <size; i ++ ) { 
                TreeNode node = queue.poll ();
                if (node.left! = null ) { 
                    queue.offer (node.left); 
                } 
                if (node.right! = null ) { 
                    queue.offer (node.right); 
                } 
                if (i == tamaño - 1 ) { 
                    res.add (node.val); 
                } 
            } 
        }
     return res; 
    } 
}

Método 2: No es que pueda pensar demasiado en ello.

/ ** 
 * Definición para un nodo de árbol binario. 
 * public class TreeNode { 
 * int val; 
 * TreeNode a la izquierda; 
 * TreeNode derecho; 
 * TreeNode (int x) {val = x; } 
 *} 
 * / 
clase Solución { 
    List <Integer> res = new ArrayList <> (); 

    public list <Integer> rightSideView (raíz de TreeNode) { 
        dfs (root, 0); // 从 根节点 开始 访问 , 根节点 深度 是 0 
        return res; 
    }

     dfs privado  vacío (raíz de TreeNode, profundidad int ) {
         if (root == null) {
             volver ; 
        } 
        if (profundidad == res.size ()) { 
            res.add (root.val); 
        } 
        profundidad ++ ; 
        dfs (root.right, profundidad); 
        dfs (raíz.izquierda, profundidad); 
    } 
}

 

Supongo que te gusta

Origin www.cnblogs.com/doyi111/p/12757847.html
Recomendado
Clasificación