8.24 剑指做过,忘了,不过看了题解,很快就记起来了
8.25 可以 AC
题目描述
力扣:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/submissions/
剑指:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/
解题思路
这题的返回结果是一个大数组里面以一层为一个数组返回的,忘记如何写的话,可以去看剑指 32 I 的笔记,剑指 32 I 与这题的不同在于它的返回结果是直接一个数组返回的,返回结果不以层划分:https://www.yuque.com/u1503898/shegzv/lessfi
当然,剑指 32 II 就和本题相同了。
class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> res = new ArrayList<>();Queue<TreeNode> queue = new LinkedList<>();if(root != null) queue.add(root);while(!queue.isEmpty()) {List<Integer> ans = new ArrayList<>();for(int i = queue.size(); i > 0; i--) { // for 循环确保最后返回的结果是一层一个数组的形式TreeNode tmp = queue.poll(); // 要出队,确保后续其左右子节点入队的准确if(tmp.left != null) queue.add(tmp.left);if(tmp.right != null) queue.add(tmp.right);ans.add(tmp.val);}res.add(ans);}return res;}}
