美文网首页
二叉树的最大节点

二叉树的最大节点

作者: 李清依 | 来源:发表于2017-12-18 16:55 被阅读0次

632. 二叉树的最大节点

在二叉树中寻找值最大的节点并返回。

您在真实的面试中是否遇到过这个题?

Yes

样例

给出如下一棵二叉树:

     1
   /   \
 -5     2
 / \   /  \
0   3 -4  -5 

返回值为

3

的节点。

标签

相关题目
思路:分别取两个节点为树节点,也就是root节点分别赋给left和right,就这样一直递归下去,求出分别的最大节点,然后再比较一次,最后得出最大节点。
AC代码:

class Solution {
public:
    /*
     * @param root: the root of tree
     * @return: the max node
     */
    TreeNode * maxNode(TreeNode * root) {
        // write your code here
        if(root==NULL)
            return root;
        TreeNode *right=maxNode(root->right);
        TreeNode *left=maxNode(root->left);
        return max(root,max(left,right));
    }
    TreeNode * max(TreeNode* a, TreeNode* b) {
        if(a==NULL){
            return b;
        }
        if(b==NULL){
            return a;
        }
        if(a->val>b->val){
            return a;
        }
        else {
            return b;
        }
    }
    
};

相关文章

网友评论

      本文标题:二叉树的最大节点

      本文链接:https://www.haomeiwen.com/subject/tvymwxtx.html