我是 C++ 的初学者,我正在尝试创建两个字符串
有什么建议吗?
在这种情况下,Equals 方法对您没有帮助。使用 charAt() 进行比较。使用两个 for 循环并迭代两个字符串,然后将不匹配的字符添加到一个字符串并最后打印它。前任:
for(int i=0;i<inputword.length;i++){
for(int j=0;i<inputword2.length;j++){
if(inputword.chatAt(i)==inputword2.charAt(j)){
//here write your logic or remove it from your string
}
}
}
要计算开头有多少个字符,一个单词“重叠”到第二个单词的结尾:
public static int combinedLength(String s1, String s2) {
s1 = s1.toLowerCase();
s2 = s2.toLowerCase();
for (int i = 1; i < s1.length() && i < s2.length(); i++)
if (s1.endsWith(s2.substring(0, i+1)) || s2.endsWith(s1.substring(0, i+1)))
return s1.length() + s2.length() - i;
return s1.length() + s2.length();
}
如果发现 s1 是否以 s2 的结尾开头或反之亦然,则可以通过在开始/结束处逐步测试更长的字母序列来工作。因为只能有一个这样的匹配,所以找到的第一个匹配返回两个长度之和减去迭代次数的结果。没有匹配返回两个长度的总和。
测试:
combinedLength("super", "perfect") ==> 9
combinedLength("perfect", "super") ==> 9
combinedLength("pencil", "eraser") ==> 12