【发布时间】:2023-03-22 09:45:01
【问题描述】:
我正在做一个在线代码挑战,要求编写一个字谜检查程序。所以我做了以下程序,由于一些奇怪的原因它没有通过所有的测试用例。我自己编写了一个 main 函数并尝试自己测试它,它似乎工作正常。
#include<iostream>
using namespace std;
bool anagrams(string str1, string str2);
int main(){
string str1="abcd";
string str2="dcba";
cout<<anagrams(str1,str2)<<endl;
cin.get();
return 0;
}
bool anagrams(string str1, string str2){
if(str1.length()!=str2.length()) return false;
for(int i=0;i <str1.length(); i++){
for(int j=0;j<str2.length();j++){
if(str1[i]==str2[j]){
str1[i]='*';
break;
}
}
}
for(int i=0;i<str1.length();i++){
if(str1[i]!='*') return false;
}
return true;
}
【问题讨论】: