leetcode 199. Binary Tree Right Side View | 199. 二叉树的右视图(Java)
题目
https://leetcode-cn.com/problems/binary-tree-right-side-view/
题解
本题思路来源于二叉树的层序遍历。
- 层序遍历类似问题:leetcode 637. Average of Levels in Binary Tree
- 如何使用“记录下一行最右节点”的方式,进行层序遍历:左神算法:二叉树的按层打印与ZigZag打印
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public List<Integer> rightSideView(TreeNode root) {if (root == null) return new ArrayList<>();ArrayList<Integer> list = new ArrayList<>();LinkedList<TreeNode> queue = new LinkedList<>();queue.add(root);TreeNode curLast = root;TreeNode nextLast = root;while (queue.size() > 0) {TreeNode cur = queue.poll();if (cur.left != null) {nextLast = cur.left;queue.offer(cur.left);}if (cur.right != null) {nextLast = cur.right;queue.offer(cur.right);}if (cur == curLast) { // after this node, goto a new linelist.add(cur.val);curLast = nextLast;}}return list;}
}
leetcode 199. Binary Tree Right Side View | 199. 二叉树的右视图(Java)相关推荐
- 199. Binary Tree Right Side View
/** 199. Binary Tree Right Side View * 11.21 By Mingyang * 在recursive的算法,就是贴着树的右边界往下面走,如果不行往左边偏一个,然后 ...
- LeetCode 102. Binary Tree Level Order Traversal--递归,迭代-Python,Java解法
题目地址: Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to ...
- Leetcode 102. Binary Tree Level Order Traversal(二叉树的层序遍历)
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- LeetCode199. Binary Tree Right Side View
199. Binary Tree Right Side View Given a binary tree, imagine yourself standing on the right side of ...
- LeetCode: 107. Binary Tree Level Order Traversal II
题目 Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from l ...
- LeetCode: 103. Binary Tree Zigzag Level Order Traversal
题目 Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left ...
- LeetCode: Flatten Binary Tree to Linked List
LeetCode: Flatten Binary Tree to Linked List LeetCode: Flatten Binary Tree to Linked List Given a bi ...
- 【重点】LeetCode 124. Binary Tree Maximum Path Sum
LeetCode 124. Binary Tree Maximum Path Sum 参考链接:http://zxi.mytechroad.com/blog/tree/leetcode-124-bin ...
- LeetCode 103. Binary Tree Zigzag Level Order Traversal
LeetCode 103. Binary Tree Zigzag Level Order Traversal Solution1:基于层次遍历的微改 /*** Definition for a bin ...
最新文章
- Android Studio 的安装笔记
- oracle 查看日志组切换状态_Oracle 逻辑结构篇 之 重做日志和归档日志管理(一)...
- 第十章 PX4-Pixhawk-姿态控制
- 【白话科普】上网时遇到的 404 是什么意思?
- HappyLeetcode50:Rotate Array
- 如何在子网中访问上层网络的计算机文件夹
- 属于服务器端运行的程序_服务器端编程Java 引起人们的注意很大程度上始于 applet...
- MQ7.0 在WAS中配置队列链接工厂并测试连接报2035错误
- 00套经典机械结构设计非标自动化SW机构3D图纸solidWorks模型库
- 一点经验:从五星填数中所学到的
- php密码如何用星号表示,输入密码显示星号的写法实例
- sklearn之make_blobs:产生数据集
- QT小游戏(五子棋)
- 智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台
- android 自定义 snackbar,Android Study Material Design 五 之:自定义Toast以及玩转SnackBar...
- 使用python对在线网易有道翻译接口进行分析及破解js加密
- 【技术干货】工业触摸屏之电阻屏原理(连载)
- 练习-Java多路分支之月份天数计算
- 带你玩转kubernetes-k8s(第38篇:深入分析集群安全机制)
- php behaviors,YII框架行为behaviors用法示例
热门文章
- HDU - 3538 A sample Hamilton path(最短哈密顿路径+状压dp)
- angularjs全栈开发知乎_1-4【微信小程序全栈开发课程】原生小程序框架介绍
- HDU1850(Nim游戏)
- HDU3662(求三维凸包表面的多边形个数,表面三角形个数,体积,表面积,凸包重心,凸包中点到面的距离)
- ST算法解决RMQ问题
- 18.IDA-创建自己的sig
- C++虚继承(六) --- 虚继承浅析
- cocos2d-x游戏实例(10)-塔防游戏(修改地图图素,地图整体缩放)
- 客户端网络库实现真的很简单吗?
- OSI七层网络模型与TCP/IP四层网络