题目

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)相关推荐

  1. 199. Binary Tree Right Side View

    /** 199. Binary Tree Right Side View * 11.21 By Mingyang * 在recursive的算法,就是贴着树的右边界往下面走,如果不行往左边偏一个,然后 ...

  2. 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 ...

  3. 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, ...

  4. LeetCode199. Binary Tree Right Side View

    199. Binary Tree Right Side View Given a binary tree, imagine yourself standing on the right side of ...

  5. 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 ...

  6. 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 ...

  7. LeetCode: Flatten Binary Tree to Linked List

    LeetCode: Flatten Binary Tree to Linked List LeetCode: Flatten Binary Tree to Linked List Given a bi ...

  8. 【重点】LeetCode 124. Binary Tree Maximum Path Sum

    LeetCode 124. Binary Tree Maximum Path Sum 参考链接:http://zxi.mytechroad.com/blog/tree/leetcode-124-bin ...

  9. LeetCode 103. Binary Tree Zigzag Level Order Traversal

    LeetCode 103. Binary Tree Zigzag Level Order Traversal Solution1:基于层次遍历的微改 /*** Definition for a bin ...

最新文章

  1. Android Studio 的安装笔记
  2. oracle 查看日志组切换状态_Oracle 逻辑结构篇 之 重做日志和归档日志管理(一)...
  3. 第十章 PX4-Pixhawk-姿态控制
  4. 【白话科普】上网时遇到的 404 是什么意思?
  5. HappyLeetcode50:Rotate Array
  6. 如何在子网中访问上层网络的计算机文件夹
  7. 属于服务器端运行的程序_服务器端编程Java 引起人们的注意很大程度上始于 applet...
  8. MQ7.0 在WAS中配置队列链接工厂并测试连接报2035错误
  9. 00套经典机械结构设计非标自动化SW机构3D图纸solidWorks模型库
  10. 一点经验:从五星填数中所学到的
  11. php密码如何用星号表示,输入密码显示星号的写法实例
  12. sklearn之make_blobs:产生数据集
  13. QT小游戏(五子棋)
  14. 智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台
  15. android 自定义 snackbar,Android Study Material Design 五 之:自定义Toast以及玩转SnackBar...
  16. 使用python对在线网易有道翻译接口进行分析及破解js加密
  17. 【技术干货】工业触摸屏之电阻屏原理(连载)
  18. 练习-Java多路分支之月份天数计算
  19. 带你玩转kubernetes-k8s(第38篇:深入分析集群安全机制)
  20. php behaviors,YII框架行为behaviors用法示例

热门文章

  1. HDU - 3538 A sample Hamilton path(最短哈密顿路径+状压dp)
  2. angularjs全栈开发知乎_1-4【微信小程序全栈开发课程】原生小程序框架介绍
  3. HDU1850(Nim游戏)
  4. HDU3662(求三维凸包表面的多边形个数,表面三角形个数,体积,表面积,凸包重心,凸包中点到面的距离)
  5. ST算法解决RMQ问题
  6. 18.IDA-创建自己的sig
  7. C++虚继承(六) --- 虚继承浅析
  8. cocos2d-x游戏实例(10)-塔防游戏(修改地图图素,地图整体缩放)
  9. 客户端网络库实现真的很简单吗?
  10. OSI七层网络模型与TCP/IP四层网络