Java LeetCode 102. Recorrido de secuencia del árbol binario

Darle un árbol binario, devuelva el valor del nodo obtenido atravesándolo en orden. (Es decir, visite todos los nodos capa por capa, de izquierda a derecha).

Inserte la descripción de la imagen aquí

Primer recorrido en amplitud de bfs

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    
    
    public List<List<Integer>> levelOrder(TreeNode root) {
    
    
        if(root==null){
    
    
            return new ArrayList();
        }

        List<List<Integer>> res = new ArrayList();
        
        Deque<TreeNode> que = new LinkedList();

        que.offer(root);

        while(!que.isEmpty()){
    
    
            int size = que.size();
            List<Integer> list = new ArrayList();
            for(int i=0;i<size;i++){
    
    
                if(que.peek().left!=null){
    
    
                    que.offer(que.peek().left);
                }
                if(que.peek().right!=null){
    
    
                    que.offer(que.peek().right);
                }
                list.add(que.poll().val);
            }
            res.add(list);
        }
        return res;

    }
}

Supongo que te gusta

Origin blog.csdn.net/sakura_wmh/article/details/110941225
Recomendado
Clasificación