可以帮我看看这段递归代码为什么段错误吗

应该是这个p迭代器出了问题

void find( string temp, string tar, set<string> dic, set<string>::iterator p, int step, int &min)
{
    if( dif(temp,tar)==1 )
    {
        if( step<min || min==-1 ) min = step;
    }
    else
    {
        for( p; p!=dic.end(); p++)
        {
            if( dif(temp,*p)==1)
            {
                step++;
                find(*p,tar,dic,p,step,min);
            }
        }
    }
}
阅读 668
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题