leetcode(十四)Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:怎么读取串口数据 编辑:程序博客网 时间:2024/05/18 03:52
copyright:leetcode
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,#,#,15,7}
,
3 / \ 9 20 / \ 15 7
return its zigzag level order traversal as:
[ [3], [20,9], [15,7]]
算法类似与:Binary Tree Level Order Traversal
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) {ArrayList<List<Integer>> AList = new ArrayList<List<Integer>>();recur(root, 0, AList);Iterator it = AList.iterator();ArrayList<Integer> list = null;int tmp = 0;while(it.hasNext()){ it.next(); if(it.hasNext()){ list = (ArrayList<Integer>)it.next(); int len = list.size(); for(int i=0;i < len / 2;i++){ tmp = ((Integer)(list.get(i))).intValue(); list.set(i, list.get(len - 1 - i)); list.set(len - 1 - i, tmp); } }else{ break; }}return AList; }private void recur(TreeNode tNode, int depth, ArrayList<List<Integer>> AList){ArrayList<Integer> list = null;if(tNode != null){if(AList.size() > depth){//means list depth has exlist = (ArrayList<Integer>)(AList.get(depth));}else{list = new ArrayList<Integer>();AList.add(list);}//System.out.println(tNode.val);//list.add(tNode.val);recur(tNode.left, depth + 1, AList);recur(tNode.right, depth + 1, AList);}}}
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
- 维护表数据的常用方法
- 数据丢失值的处理方法总结
- swift字符串、int、double之间的转换
- poj2349 (kruskal算法)
- QtCreator 开发环境错误处理,
- leetcode(十四)Binary Tree Zigzag Level Order Traversal
- SAS学习经典书籍
- 3019. A Game with Marbles
- EXTJS4.0MVC模式导航栏制作
- MSSQL server BCP
- Linux工作队列实现机制
- Android仿微信朋友圈图片浏览器(支持图片手势缩放,拖动)
- 图像边缘检测方法集合
- Palindrome Number