zoukankan      html  css  js  c++  java
  • [leetcode]199. Binary Tree Right Side View

    虽然只保留右节点,但是左节点也要向下遍历,因为可能到某一层,要用到左节点,所以要用一个数据结构记录本层有没有记录,如果记录过了就不用记录,向下遍历就行,没有记录就记录。递归的时候要同时记录层数

    先dfs右节点,再左节点

    List<Integer> res = new ArrayList<>();
        public List<Integer> rightSideView(TreeNode root) {
            helper(root, new ArrayList<>(),0);
            return res;
        }
        public void helper(TreeNode root,List<Boolean> list,int cur)
        {
            if (root==null)
                return;
            if (list.size()==cur)
                list.add(false);
            if (!list.get(cur))
            {
                res.add(root.val);
                list.add(cur,true);
            }
            helper(root.right,list,cur+1);
            helper(root.left,list,cur+1);
        }
  • 相关阅读:
    机器学习——模型评估与选择
    论文等级
    python简介
    记忆力
    PyQt 5控件
    PyQt5对话框
    PyQt 5事件和信号
    PyQt 5菜单和工具栏
    PyQt 5布局管理
    PyQt 5的基本功能
  • 原文地址:https://www.cnblogs.com/stAr-1/p/8351334.html
Copyright © 2011-2022 走看看