Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:电子政务网络拓扑图 编辑:程序博客网 时间:2024/06/05 14:19
description:
Given a binary tree, return the zigzag level order traversal of its nodes’ values. (ie, from left to right, then right to left for the next level and alternate between).
Have you met this question in a real interview? Yes
Example
Given binary tree {3,9,20,#,#,15,7},
3
/ \
9 20
/ \
15 7
return its zigzag level order traversal as:
[
[3],
[20,9],
[15,7]
]
解题思路:
实用BFS的方式进行搜索处理,将所得到的结果进行按照奇偶层判断是否需要翻转处理。
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */public class Solution { /** * @param root: The root of binary tree. * @return: A list of lists of integer include * the zigzag level order traversal of its nodes' values */ public ArrayList<ArrayList<Integer>> zigzagLevelOrder(TreeNode root) { // write your code here ArrayList<ArrayList<Integer>> result = new ArrayList<>(); if (root == null) { return result; } Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); int index = 0; while (!queue.isEmpty()) { ArrayList<Integer> list = new ArrayList<>(); int len = queue.size(); for (int i = 0; i < len; i++) { TreeNode node = queue.poll(); list.add(node.val); if (node.left != null) { queue.offer(node.left); } if (node.right != null) { queue.offer(node.right); } } if (index % 2 != 0) { Collections.reverse(list); } index++; result.add(list); } return result; }}
0 0
- LeetCode: Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- LeetCode Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- [Leetcode] Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- 【leetcode】Binary Tree Zigzag Level Order Traversal
- [LeetCode]Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- [Leetcode]Binary Tree Zigzag Level Order Traversal
- [leetcode]Binary Tree Zigzag Level Order Traversal
- Leetcode: Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- Binary Tree Zigzag Level Order Traversal
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
- L3-003. 社交集群
- ERROR:Unsupported major.minor version 52.0 与更改JDK版本
- JS 中的内部属性与 delete 操作符
- 转接IC LT8911B:LVDS/MIPI DSI转EDP芯片
- Binary Tree Zigzag Level Order Traversal
- MySQL中的if
- 建立一个全数据管理的分析平台,该如何落实?
- HTTP文件断点续传的原理
- 导致页面顶部空白一行解决方法
- navigator.userAgent 判断浏览器类型
- Java 导出Excel实例代码整理(POI) 可用
- 打包/发包工具-需求分析一
- C++读XML文件