博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
103. Binary Tree Zigzag Level Order Traversal
阅读量:6648 次
发布时间:2019-06-25

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

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   7return its zigzag level order traversal as:[  [3],  [20,9],  [15,7]]

难度:medium

题目:给定二叉树,返回其之字型层次遍历结点值。

思路:层次遍历

Runtime: 1 ms, faster than 90.32% of Java online submissions for Binary Tree Zigzag Level Order Traversal.

Memory Usage: 37.1 MB, less than 100.00% of Java online submissions for Binary Tree Zigzag Level Order Traversal.

/** * 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
> result = new ArrayList<>(); if (null == root) { return result; } Queue
queue = new LinkedList<>(); queue.add(root); int currentLevelCount = 1, nextLevelCount = 0; boolean direction = true; while (!queue.isEmpty()) { List
curLevelElems = new ArrayList<>(currentLevelCount); for (int i = 0; i < currentLevelCount; i++) { TreeNode node = queue.poll(); if (node.left != null) { queue.add(node.left); nextLevelCount++; } if (node.right != null) { queue.add(node.right); nextLevelCount++; } if (direction) { curLevelElems.add(node.val); } else { curLevelElems.add(0, node.val); } } result.add(curLevelElems); currentLevelCount = nextLevelCount; nextLevelCount = 0; direction = !direction; } return result; }}

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

你可能感兴趣的文章
html5调用手机陀螺仪实现方向辨识
查看>>
隐马尔可夫模型:HMM
查看>>
WinHTTrack Website Copier使用说明
查看>>
线性降维-笔记(1)
查看>>
php 中使用cURL发送get/post请求,上传图片,批处理
查看>>
InnoDB透明页压缩与稀疏文件
查看>>
MyCat - 背景篇(1)
查看>>
2018天猫双11各类目品牌成交额top10排行榜
查看>>
16-(基础入门篇)GPRS(Air202)关于多个文件中的变量调用和定时器
查看>>
sqlserver 脚本生成数据库文档
查看>>
VC++ 获取exe或者dll版本信息
查看>>
java反射
查看>>
[转]pugixml使用教程
查看>>
WPF 窗口去除顶部边框(正宗无边框)
查看>>
二级联动选择框的实现
查看>>
枚举出局域网上所有网络资源
查看>>
微软公开Windows Marketplace for Mobile 计划
查看>>
Objective-C 日记⑤ 内存管理、协议、Category 视频笔记
查看>>
电赛菜鸟营培训(五)——OLED屏幕的使用
查看>>
打造自己的RMS框架
查看>>