《恐龍危機》製作人小林裕幸參與開發了《恐龍浩劫》
阿新 • • 發佈:2022-03-16
劍指 Offer 32 - III. 從上到下列印二叉樹 III
請實現一個函式按照之字形順序列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。
例如:
給定二叉樹: [3,9,20,null,null,15,7],
3
/
9 20
/
15 7
返回其層次遍歷結果:
[
[3],
[20,9],
[15,7]
]
提示:
節點總數 <= 1000
/** * 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 LinkedList<List<Integer>>(); Queue<TreeNode> que = new LinkedList<>(); List<List<Integer>> res = new ArrayList<>(); que.add(root); int i = 0; while(!que.isEmpty()) { int num = que.size(); List<Integer> re = new ArrayList<>(); while(num-->0) { TreeNode node = que.poll(); System.out.println(node); if(node.left!=null) que.add(node.left); if(node.right!=null) que.add(node.right); re.add(node.val); } if (i%2!=0) { Collections.reverse(re); } i++; res.add(re); } return res; } }