博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
力扣(LeetCode)103
阅读量:6813 次
发布时间:2019-06-26

本文共 958 字,大约阅读时间需要 3 分钟。

题目地址:

题目描述:
给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

解答:

二叉树的层序遍历,只不过对于偶数层来说,把该层的遍历结果转置一下就行了。
java ac代码:

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    public List
> zigzagLevelOrder(TreeNode root) { List
> ans = new ArrayList(100); ArrayDeque
deque = new ArrayDeque(1000); if(root == null)return ans; deque.offer(root); int num = 1; while(!deque.isEmpty()) { int n = deque.size(); List
temp = new ArrayList(n); for(int i = 0;i < n;i++) { TreeNode node = deque.poll(); temp.add(node.val); if(node.left != null)deque.offer(node.left); if(node.right != null)deque.offer(node.right); } if((num&1) != 1) Collections.reverse(temp); ans.add(temp); num++; } return ans; }}

转载地址:http://xazzl.baihongyu.com/

你可能感兴趣的文章
maven 与多模块构建
查看>>
ubuntu14.04 配置tomcat8
查看>>
VirtualBox体验及介绍
查看>>
Ubuntu 12.04 下安装 JDK 7
查看>>
1&gt;s.cpp(465) : error C2448: “main”: 函数样式初始值设定项类似函数定义 问题的解决方法...
查看>>
Error in Javac compilation for JSP
查看>>
XWifiMouse早期写的一个Android鼠标App
查看>>
Android AIDL 客户端和服务端配置
查看>>
制作自己的镜像(二)
查看>>
運維之下標題
查看>>
OFBiz + Opentaps 目录管理 十二. 配置
查看>>
JAVA中RSA签名算法实现
查看>>
在etherscan上传合约源码
查看>>
postgres预写式日志的内核实现详解-wal记录写入
查看>>
用面向接口编程思想看找对象
查看>>
OC文件操作习题
查看>>
Nginx常用命令
查看>>
TWaver GIS在电信中的使用
查看>>
几款程序员常用的辅助编程工具
查看>>
ios 正则表达式语法参考
查看>>