• 199-二叉树右视图


    题目描述

    给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

    示例:

    输入: [1,2,3,null,5,null,4]
    输出: [1, 3, 4]
    解释:

       1            <---
     /   
    2     3         <---
          
      5     4       <---
    

    链接:https://leetcode-cn.com/problems/binary-tree-right-side-view

    思路

    (1)BFS

    (2)从右往左遍历

    (3)每层只记录第一个节点值

    代码

    public List<Integer> rightSideList = new ArrayList();
    
        public List<Integer> rightSideView(TreeNode root) {
            rightSideView(root, 0);
            return rightSideList;
        }
    
        public void rightSideView(TreeNode root, int depth) {
            if (root == null) {
                return;
            }
    
            if (depth == rightSideList.size()) {
                rightSideList.add(root.val);
            }
            depth++;
            rightSideView(root.right, depth);
            rightSideView(root.left, depth);
            
            return;
        }
    
  • 相关阅读:
    5
    4
    2
    3
    1
    IOS js交互
    vm安装mac
    索引
    ORM 基础
    reids 日志no
  • 原文地址:https://www.cnblogs.com/boycelee/p/13640583.html
Copyright © 2020-2023  润新知