package class032; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; // 测试链接:https://leetcode.com/problems/binary-tree-level-order-traversal public class Code01_BinaryTreeLevelOrderTraversal { public static class TreeNode { public int val; public TreeNode left; public TreeNode right; TreeNode(int val) { this.val = val; } } public List> levelOrder(TreeNode root) { List> ans = new ArrayList<>(); if (root == null) { return ans; } Queue queue = new LinkedList<>(); queue.add(root); while (!queue.isEmpty()) { int size = queue.size(); List curAns = new ArrayList<>(); for (int i = 0; i < size; i++) { TreeNode curNode = queue.poll(); curAns.add(curNode.val); if (curNode.left != null) { queue.add(curNode.left); } if (curNode.right != null) { queue.add(curNode.right); } } ans.add(curAns); } return ans; } }