专栏首页desperate633LintCode Binary Tree Maximum Node二叉树的最大节点分析代码

LintCode Binary Tree Maximum Node二叉树的最大节点分析代码

Find the maximum node in a binary tree, return the node.

样例 给出如下一棵二叉树:

 1

/ -5 2 / \ / 0 3 -4 -5 返回值为 3 的节点。

分析

简单的递归思路,不过注意为空的情况,所以最好将为空的点的值设为最小值

代码

public class Solution {
    /**
     * @param root the root of binary tree
     * @return the max ndoe
     */
    public TreeNode maxNode(TreeNode root) {
        if(root == null)
            return null;
        
        return getMaxNode(root);
    }
    
    public TreeNode getMaxNode(TreeNode root) {
        if(root == null)
            return new TreeNode(Integer.MIN_VALUE);
        
        TreeNode left = getMaxNode(root.left);
        TreeNode right = getMaxNode(root.right);
        
        if(root.val >= right.val && root.val >= left.val)
            return root;
        if(left.val >= right.val && left.val >= root.val)
            return left;
        return right;
    }    
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LintCode 二叉树的所有路径题目样例分析代码

    显然本道题可以使用递归算法。每天路径结束的条件的是遇到叶子节点,该树有多少个叶子节点就会有多少路径。 分别递归求解左子树和右子树。

    desperate633
  • LeetCode 144. Binary Tree Preorder Traversal题目分析代码

    Given a binary tree, return the preorder traversal of its nodes' values. For ex...

    desperate633
  • LintCode 验证二叉查找树题目分析代码

    2 / 1 4 / 3 5 上述这棵二叉树序列化为 {2,1,4,#,#,3,5}.

    desperate633
  • 算法:树和图-实战

    思路:回到二叉搜索树,当前节点大于左子树,小于右子树。假如此树是二叉搜索树,那么应该满足这种有序的状态。

    营琪
  • Leetcode 653. Two Sum IV - Input is a BST

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.cs...

    Tyan
  • 数据结构与算法-树

    cwl_java
  • 【leetcode刷题】T112-验证二叉搜索树

    节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。

    木又AI帮
  • 226 Invert Binary Tree

    /** * Definition for a binary tree node. * function TreeNode(val) { * thi...

    用户1624346
  • Leetcode【700、872、897、965、1022】

    1、判断叶子的条件是 root.left == None and root.right == None,返回 [root.val]; 2、还要注意单子树的情况...

    echobingo
  • LeetCode 二叉树 题目分类汇总

    简书的 markdown 都不支持 [TOC] 语法……我就不贴目录了。下面按照类别,列出了29道关于二叉树的题目。认真看会发现,其实题目核心思想都是DFS(如...

    Yano_nankai

扫码关注云+社区

领取腾讯云代金券