return 值存储在哪里并且 how/can 它们会递增?

Where are return values stored and how/can they be incremented?

我已经完成了相当多的阅读和研究工作,但我仍然没有 100% 理解它。 对于“二叉树的最小深度”这个解决方案,在递归函数中有多个 return 的想法让我很沮丧。我不确定“最小深度”的值是如何增加的,我知道这可能与我对 return 语句工作的误解有关。请帮忙,谢谢。

int minDepth(Node *root) {
        if(!root) return 0;
        
        if(!root->left) return 1 + minDepth(root->right);
        
        
        if(!root->right) return 1 + minDepth(root->left);
      
        return 1+min(minDepth(root->left),minDepth(root->right));
    }

如果有帮助,从逻辑上讲,您上面的内容也可以写成

int minDepth(Node *root) {

    int result;

    if(!root) 
        result = 0;
    else if(!root->left) 
        result = 1 + minDepth(root->right);
    else if(!root->right) 
        result = 1 + minDepth(root->left);
    else
        result = 1 + min(minDepth(root->left), minDepth(root->right));

    return result;
}