leetcode_middle_84_103. Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:一套淘宝店铺装修价格 编辑:程序博客网 时间:2024/06/03 17:07
题意:
层次遍历二叉树,S型遍历
分析:
其实就是层次遍历,考虑用队列实现,如何反序呢?考虑用栈实现。至于层次,打个变量标记下就是了。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> list = new ArrayList<>(); Queue<TreeNode> q = new LinkedList<>(); int layer = 0; if(root==null) return list; q.add(root); while(!q.isEmpty()){ Stack<Integer> s = new Stack<>(); List<Integer> l = new ArrayList<>(); int size = q.size(); layer++; for(int i=0; i<size; i++){ TreeNode node = q.poll(); if(layer%2==0){ s.push(node.val); }else{ l.add(node.val); } if(node.left!=null) q.offer(node.left); if(node.right!=null) q.offer(node.right); } if(layer%2==0){ while(!s.isEmpty()){ l.add(s.pop()); } } list.add(new ArrayList(l)); } return list; }}
0 0
- leetcode_middle_84_103. 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
- 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
- Git Rebase教程: 用Git Rebase让时光倒流
- BACK
- 廖雪峰python教程阅读之安装python
- Oracle的常见操作
- POJ
- leetcode_middle_84_103. Binary Tree Zigzag Level Order Traversal
- 图解正向代理、反向代理、透明代理
- 3.2、条件编译的使用分析
- SpringMVC集成开源的验证码框架Kaptcha实现验证码效果
- git rebase教程
- Kerberos介绍(全)
- github提交push出错
- MyBatis框架入门
- 微信开发之Author网页授权