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

二叉树的最大节点

作者: 李清依 | 来源:发表于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