LeetCode 103 Binary Tree Zigzag Level Order Traversal
来源:互联网 发布:扫描仪软件下载 编辑:程序博客网 时间:2024/06/01 22:23
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]]
思路:在层次遍历的基础上加上一个布尔型的flag
/** * 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) {boolean flag = true; List<Integer> list ; List<List<Integer>> result = new ArrayList<List<Integer>>(); LinkedList <TreeNode> linkedList = new LinkedList<TreeNode>(); if(root == null) return result; TreeNode p; int num = 1; linkedList.addLast(root); while(!linkedList.isEmpty()) { list = new ArrayList<Integer>(); int i = 0; int temp = 0; while(i < num) { p = linkedList.pollFirst(); if(flag) { list.add(p.val); }else{ list.add(0,p.val); } if(p.left != null) { linkedList.addLast(p.left); temp++; } if(p.right != null) { linkedList.addLast(p.right); temp++; } i++; } flag=!flag; num = temp; 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
- 【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
- CSS 部分小特效
- numpy简明教程(3)
- strstr函数
- Xcode 4.4中LLVM compiler 4.0带来的Objective-C新语法特性
- 使用gcc时头文件路径和动态链接库路径
- LeetCode 103 Binary Tree Zigzag Level Order Traversal
- MAC git github 常用指令
- poj1679 The Unique MST(次小生成树)
- STL中map用法详解
- Struts2流程机制
- 自己对有上下界的网络流的理解
- magento中有用的代码片段-
- svn:resource out of date: try updating
- TestComplete总结七