[LeetCode] Binary Tree Right Side View

news/2024/7/2 17:29:02

Binary Tree Right Side View

Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.

BFS

Time Complexity
O(N)
Space Complexity
O(N)

思路

用传统的BFS,唯一要加的是(i == size - 1)的时候,注意是size - 1, 因为i 是从0 开始的,size - 1就是每层的最右了,这时把这个数字加进res就可以

代码

public List<Integer> rightSideView(TreeNode root) {
    List<Integer> res = new ArrayList<Integer>();
    if(root == null) return res;
    
    Queue<TreeNode> queue = new LinkedList<TreeNode>();
    queue.offer(root);
    while(!queue.isEmpty()){
        int size = queue.size();
        for(int i = 0; i < size; i++){
            TreeNode cur = queue.poll();
            if(i == size - 1){
                res.add(cur.val);
            }
            if(cur.left != null) queue.offer(cur.left);
            if(cur.right != null) queue.offer(cur.right);
        }
    }
    return res;
}

http://www.niftyadmin.cn/n/3451271.html

相关文章

徐家俊十年华为生涯感悟

徐是华为数据中心的头,技术超级牛人,一级部门总监,华为副总裁,年收入过千万,数据中心是用火山岩建的深入地下的一个大型建筑.防辐射,可防卫星的电子,雷达等手段的侦察.里面有象卫星发射中心那种超大屏幕,机房里满是三米的大型服务器和大型计算机.连接整个华为全球的每一台终端,…

代码可读性提升指南

代码可读性提升指南 什么叫可读性 曾经看到过这样一句话「别人在阅读代码过程中飙脏话的频率是衡量你代码质量的唯一标准」。 代码的可读性其实不是针对的编译器、解释器&#xff0c;而是对于人来说的。具有良好可读性的代码&#xff0c;应该是能让人快速理解、轻松维护、容易扩…

四道微软面试题

朋友去MS面试&#xff0c;我从他口里探到几道编程面试题。特来和各位分享。 (1) 一个整数数列&#xff0c;元素取值可能是0~65535中的任意一个数&#xff0c;相同数值不会重复出现。0是例外&#xff0c;可以反复出现。 请设计一个算法&#xff0c;当你从该数列中随意选取5个数…

后台开发:核心技术与应用实践3.3.4 Vector类的简单实现

3.3.4 Vector类的简单实现 实现一个vector&#xff0c;绝对是C中的重点知识。下面例3.13中提供了类的简单实现。 【例3.17】 vector类的简单实现。 #include<algorithm> #include<iostream> #include <assert.h> using namespace std; template<typenam…

拥抱Linux

本文转载自『恋花蝶的博客!』http://blog.csdn.net/lanphaday更多精彩内容,欢迎访问恋花蝶的博客!在这个微软的“黑屏”时代&#xff0c;作为 windows 的替代品&#xff0c;Linux 变得倍受关注。今天 CSDN 的名博阿朱写了篇文章《我可以抱你吗&#xff1f;Linux》&#xff08;h…

实用保健方法

忙碌上班族实用保健有13招 http://samueli.javaeye.com/blog/254121 1、双手捂住耳朵&#xff0c;手指弹动脑袋&#xff0c;10~20次&#xff0c;可促进大脑血液循环。  2、扯耳朵&#xff0c;右手经过后脑勺&#xff0c;往下扯动左耳垂&#xff1b;随后&#xff0c;左手经过后…

一些软件设计网址

本文转载自『恋花蝶的博客!』http://blog.csdn.net/lanphaday更多精彩内容,欢迎访问恋花蝶的博客!作者&#xff1a;赖勇浩&#xff08;http://blog.csdn.net/lanphaday&#xff09;在社区混久了&#xff0c;总看到许多新朋友问“我学会了XX语言&#xff0c;怎么深入&#xff08…

隐藏tabBarViewController底部的tabBar

2019独角兽企业重金招聘Python工程师标准>>> 隐藏tabBarViewController底部的tabBar /// 重写push方法 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {//隐藏底部barviewController.hidesBottomBarWhenPushed YES;[sup…