我有這個代碼,但它似乎很笨拙。在Java中有更規範的方法嗎?檢測兩個字符串是否相差一個字符的最佳方法是什麼?
public boolean oneDiff(String from, String s) {
if (from.length()!=s.length()) return false;
int differences = 0;
for (int charIndex = 0;charIndex<from.length();charIndex++) {
if (from.charAt(charIndex)!=s.charAt(charIndex)) differences++;
}
return (differences==1);
}
您至少可以優化您的解決方案,以便在for循環內差異> 1時返回false – 2015-03-13 18:30:25
您是否需要考慮一個字符串是預先添加還是附加到另一個字符串的單個字符的情況? – user3745362 2015-03-13 18:32:50
firstString.compare(secondString);會給你一個詞彙比較,儘管我不確定這正是你想要的。 – 2015-03-13 18:50:30