• 199. Binary Tree Right Side View


    一、题目

      1、审题

       

      2、分析

        一棵二叉树,从右边看他,看到的每一层的第一个元素存起来。

    二、解答

      1、思路:

        方法一、

        采用 Queue 进行层次遍历,且每次获取一层的最右边一个元素。

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

      方法二、

        采用递归获取每一层最右边元素;

        即修改后的前序遍历,遍历顺序为: 根 --> 右 --> 左 ;

        巧妙的将所遍历到的层次与 List 中元素的个数进行关联起来。

        public List<Integer> rightSideView2(TreeNode root) {
            
            List<Integer> result = new ArrayList<>();
            rightView(root, result, 0);
            return result;
        }
        
        private void rightView(TreeNode root, List<Integer> result, int curDepth) {
            
            if(root == null)
                return;
            
            if(curDepth == result.size())
                result.add(root.val);
            
            rightView(root.right, result, curDepth + 1);
            rightView(root.left, result, curDepth + 1);
        }
  • 相关阅读:
    GIS术语
    ArcGIS9.3 SDE安装
    Vue中videojs的配置
    vue项目打包部署后页面是空白的,以及部署之后页面能看到图片等资源找不到
    echarts属性的设置
    ASP.Net4中实现自定义的请求验证(转贴)
    ASP.NET Session的七点认识(转贴)
    JDK自带的keytool证书工具详解
    读取zip加密包里面文件的内容
    无题
  • 原文地址:https://www.cnblogs.com/skillking/p/9813028.html
Copyright © 2020-2023  润新知