讨论社区

为什么测试用例的预期结果会变

bool a(char * s1, char * s2, char * s3,int i,int j,int k,int size){    if(k<size)    {        if(s1[i]==s2[j])        {            if(s1[i]==s3[k])            {                return a(s1,s2,s3,i+1,j,k+1,size)||a(s1,s2,s3,i,j+1,k+1,size);            }            return false;        }        else        {            if(s1[i]==s3[k])            {                return a(s1,s2,s3,i+1,j,k+1,size);            }            if(s2[j]==s3[k])            {                return a(s1,s2,s3,i,j+1,k+1,size);            }            else return false;        }    }    else return true;    }bool isInterleave(char * s1, char * s2, char * s3){int size=strlen(s3)-1;/*if(size<0){    return false;}*/return a(s1,s2,s3,0,0,0,size);}

97题,交错字符串,这题输入空串的预期结果是false,于是我加了一个if,执行结果变成了false,但是预期结果变成了true。为什么预期结果会变,做其他题也遇到过。

0 人关注了该问题 关注

0

feiceh • 2月前

您好,建议再仔细调试一下代码。刷题学习中遇到困难,可通过阅读「题解」解决做题中的一些困惑,也可至 力扣圈子 进行题目交流,以获得更好的支持哟~


0 个讨论

您需要登录后才可回复
您需要登录后才可以回复