LeetCode 103. Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:java bigdecimal减法 编辑:程序博客网 时间:2024/06/03 21:32
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).
For example:
Given binary tree [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7]]
/** * 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>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> list = new ArrayList<>(); if (root == null) return list; Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); int index = 1; while (!queue.isEmpty()) { int n = queue.size(); LinkedList<Integer> tmpList = new LinkedList<>(); for (int i = 0; i< n; i++) { if (queue.peek().left != null) queue.offer(queue.peek().left); if (queue.peek().right != null) queue.offer(queue.peek().right); //先左后右 if (index % 2 == 1) { tmpList.add(queue.poll().val); } else { tmpList.addFirst(queue.poll().val); } } if (index == 1) index = 2; else index = 1; list.add(tmpList); } return list; }}
阅读全文
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
- 【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
- LeetCode:Binary Tree Zigzag Level Order Traversal
- [LeetCode] Binary Tree Zigzag Level Order Traversal
- Android 颜色透明度对应16进制值
- POJ1625-(AC自动机+DP+大数)
- 排序算法总结(python实现)
- hibernate-validation
- c++排序库函数——sort的用法
- LeetCode 103. Binary Tree Zigzag Level Order Traversal
- jquery预加载的四种种方式
- 数组循环左移P位算法
- 2017.09.07 dsp升级调试
- 线程、进程及其相关内容的完整总结
- caioj.1040 搜索初步
- [js高手之路]node js系列课程-创建简易web服务器与文件读写
- KVC与KVO的总结
- vue-resource -- 全局拦截器interceptors