【leetcode】二叉树中第二小的节点

 

int findMin(struct TreeNode *root,int data)
{
    if(!root) return -1;
    if(root->val > data) return root->val;
    
    int left = findMin(root->left,data);
    int right = findMin(root->right,data);
    
    if(left==-1) return right;
    if(right==-1) return left;
    
    return left < right ? left : right;    
}

int findSecondMinimumValue(struct TreeNode* root){
    return findMin(root,root->val);
}

 

posted @ 2020-09-06 16:59  温暖了寂寞  阅读(106)  评论(0编辑  收藏  举报