Sword refers to Offer-31 print binary tree from top to bottom II

public List<List<Integer>> levelOrder(TreeNode root) {
    Queue<TreeNode> queue = new LinkedList<>();
    List<List<Integer>> res = new ArrayList<>();
    if (root != null) {
        queue.add(root);
    }
    while (!queue.isEmpty()){
        List<Integer> temp = new ArrayList<>();
        // The layering here is very beautiful
        for (int i = queue.size(); i > 0; i--){
            TreeNode t = queue.poll();
            temp.add(t.val);
            if (t.left != null){
                queue.add(t.left);
            }
            if (t.right != null){
                queue.add(t.right);
            }
        }
        res.add(temp);
    }
    return res;
}

Guess you like

Origin blog.csdn.net/a792396951/article/details/113844400