【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);
}
原文地址:https://www.cnblogs.com/ganxiang/p/13622257.html