2 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊
對(duì)于此作業(yè),for 循環(huán)仍然可以找到每個(gè)字符串具有相同字符的位置以及出現(xiàn)這種情況的次數(shù):
ArrayList<Integer> places = new ArrayList<Integer>();
for (int i = 0; i < Math.min(string1.length(), string2.length()); i++) {
a = string1.charAt(i);
b = string2.charAt(i);
if (a == b) {
count++;
places.add(i); //To say at which indices the 2 strings have the same chars
}
}

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
我猜你想計(jì)算兩個(gè)單詞在相同位置重復(fù)的字符數(shù)。(前綴不一樣)
換句話說(shuō)cat carrot,你想得到 2 因?yàn)閏和a處于相同的位置,但t不是。
換句話說(shuō)carrot cabra,你會(huì)得到 3,因?yàn)閏和a( r4th) 在同一個(gè)位置上是相同的。
您只需要同時(shí)迭代兩個(gè)字符串一次:
String string1 = "car";
String string2 = "carrot";
int minLength = Math.min( string1.length(), string2.length() );
int count = 0;
for (int i = 0; i < minLength; i++){
char ch1 = string1.charAt(i);
char ch2 = string2.charAt(i);
if (ch1 == ch2) {
count++;
}
}
我們使用minLength因?yàn)槲覀冎恍枰獧z查直到最小單詞的長(zhǎng)度。
我們使用string1.charAt(i)and string2.charAt(i),具有相同的索引i,因?yàn)槲覀兿霗z查相同位置的字符。
添加回答
舉報(bào)