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> list = new ArrayList<>(); for (int i = queue.size(); i > 0; i--){ TreeNode t = queue.poll(); list.add(t.val); if (t.left != null){ queue.add(t.left); } if (t.right != null){ queue.add(t.right); } } // 对比上一题 只需要判断是偶数层的把list反转就可以了 if (res.size() % 2 == 1){ Collections.reverse(list); } res.add(list); } return res; }
剑指Offer-32从上到下打印二叉树 III
猜你喜欢
转载自blog.csdn.net/a792396951/article/details/113844921
今日推荐
周排行