比较两个字符串的字符的基本 java 代码
Basic java code to compare char of two strings
我想编写接受两个字符串的代码和returns两个字符串的字符不匹配的次数之和。
public int solution(String s1, String s2) {
int sum = 0;
for (int i=0; i<s1.length(); i++){
if (s1.charAt(i) != s2.charAt(i))
sum++;
}
return sum;
}
当两个字符串的长度相同时,运行的这段代码。我想要我需要添加到代码中的内容,以便如果 string 1
的长度 > string 2
的长度,代码仍然 运行 并且还包括# char chat wasn't able与 string 2
进行比较,因为 string 2
更短。 (反之亦然)
例如:
s1: aaaaab
s2: ac
==> sum =5
或
s1: ab
s2: abbbb
==> sum = 3
您要查找的数字由 2 个步骤组成:
- 您在代码中执行的从 0 到
Math.min(s1.length(),s2.length())
的字符串之间的差异数。
- 两个字符串的长度不同。
Math.abs(s1.length()-s2.length())
.
将 (1) 和 (2) 中的数字相加,就是您要找的数字 ;)
找出两个字符串的最小和最大长度。
int min = 0, max = 0;
if(s1.length() > s2.length()) {
max = s1.length();
min = s2.length();
} else {
min = s1.length();
max = s2.length();
}
只遍历到最小长度
for (int i=0; i<min; i++){
if (s1.charAt(i) != s2.charAt(i)) {
sum++;
}
}
然后在return值中加上最大值和最小值之差
return sum + (max - min);
我想编写接受两个字符串的代码和returns两个字符串的字符不匹配的次数之和。
public int solution(String s1, String s2) {
int sum = 0;
for (int i=0; i<s1.length(); i++){
if (s1.charAt(i) != s2.charAt(i))
sum++;
}
return sum;
}
当两个字符串的长度相同时,运行的这段代码。我想要我需要添加到代码中的内容,以便如果 string 1
的长度 > string 2
的长度,代码仍然 运行 并且还包括# char chat wasn't able与 string 2
进行比较,因为 string 2
更短。 (反之亦然)
例如:
s1: aaaaab
s2: ac
==> sum =5
或
s1: ab
s2: abbbb
==> sum = 3
您要查找的数字由 2 个步骤组成:
- 您在代码中执行的从 0 到
Math.min(s1.length(),s2.length())
的字符串之间的差异数。 - 两个字符串的长度不同。
Math.abs(s1.length()-s2.length())
.
将 (1) 和 (2) 中的数字相加,就是您要找的数字 ;)
找出两个字符串的最小和最大长度。
int min = 0, max = 0;
if(s1.length() > s2.length()) {
max = s1.length();
min = s2.length();
} else {
min = s1.length();
max = s2.length();
}
只遍历到最小长度
for (int i=0; i<min; i++){
if (s1.charAt(i) != s2.charAt(i)) {
sum++;
}
}
然后在return值中加上最大值和最小值之差
return sum + (max - min);