博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
返回每一行的最大值 Find Largest Value in Each Tree Row
阅读量:5880 次
发布时间:2019-06-19

本文共 1133 字,大约阅读时间需要 3 分钟。

  hot3.png

问题:

You need to find the largest value in each row of a binary tree.

Example:

Input:           1         / \        3   2       / \   \        5   3   9 Output: [1, 3, 9]

解决:

① 返回每一行的最大值。层序遍历。

class Solution { //11ms

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

② dfs

class Solution { //9ms

    public List<Integer> largestValues(TreeNode root) {
        List<Integer> res = new ArrayList<>();
        dfs(root,0,res);
        return res;
    }
    public void dfs(TreeNode root,int i,List<Integer> res){
        if (root == null) return;
        if (i == res.size()){
            res.add(root.val);
        }else if (res.get(i) < root.val){
            res.set(i,root.val);
        }
        dfs(root.left,i + 1,res);
        dfs(root.right,i + 1,res);
    }
}

转载于:https://my.oschina.net/liyurong/blog/1604360

你可能感兴趣的文章
来自维基百科程序员Brandon Harris
查看>>
NULL不是数值
查看>>
CentOS 5 全功能WWW服务器搭建全教程
查看>>
30个优秀的后台管理界面设计案例分享
查看>>
scala111
查看>>
模块化服务规范——OSGI
查看>>
劣质代码评析——猜数字问题(上)
查看>>
纸上谈兵: 栈 (stack)
查看>>
Windows phone8 基础篇(三) 常用控件开发
查看>>
Oracle学习笔记之五,Oracle 11g的PL/SQL入门
查看>>
大叔手记(3):Windows Silverlight/Phone7/Mango开发学习系列教程
查看>>
考拉消息中心消息盒子处理重构(策略模式)
查看>>
so easy 前端实现多语言
查看>>
【追光者系列】HikariCP源码分析之ConcurrentBag&J.U.C SynchronousQueue、CopyOnWriteArrayList...
查看>>
在navicat中如何新建连接数据库
查看>>
canvas系列教程05-柱状图项目3
查看>>
css绘制几何图形
查看>>
HTML标签
查看>>
理解JS中的Event Loop机制
查看>>
转载:字符编码笔记:ASCII,Unicode和UTF 8
查看>>