我正在尝试一种Java方法,其中有两个字符串输入,如果可以从string1中存在的所有或部分字符生成string2,我会得到一个布尔输出。请注意,我不仅仅是比较2个字符串,因为这只在字符顺序相同的情况下才有效。
此方法还会检查字符是否存在,但顺序不一定相同。
我知道我必须使用循环来比较每个字符,并可能将字符排序到一个数组中,但我不清楚这其中的逻辑。
我正在考虑使用for循环。将字符串中的字符作为数组的一部分放入,然后比较字符。如果使字符串2所需的字符与字符串1中存在的字符相匹配,则布尔结果可能正好为真
发布于 2018-10-13 02:02:42
如果您可以重用字符串中的字符,请使用:
static boolean compare(String outer, String inner){
int innerLength = inner.length();
for(int i = 0; i < innerLength;i++){
if(outer.indexOf(inner.substring(i,i+1))==-1){
return false;
}
}
return true;
}
如果不能重用字符串1中的字符,则使用:
static boolean compare(String outer, String inner){
int innerLength = inner.length();
for(int i = 0; i < innerLength;i++){
int index = outer.indexOf(inner.substring(i,i+1));
if(index==-1){
return false;
}
else{
outer = outer.substring(0,index)+outer.substring(index+1);
}
}
return true;
}
https://stackoverflow.com/questions/52784582
复制相似问题