java代码实现以下功能:给定两个字符串s和t它们只包含小写字母。字符串t是由s中的字母随机打乱之后在随机的一个位置添加一个字母生成的。请找出那个添加的字母。比如S=abcdt=baedc输出e
以下是Java代码实现:
public class FindAddedLetter {
public static char findAddedLetter(String s, String t) {
// 将字符串转换为字符数组
char[] sArr = s.toCharArray();
char[] tArr = t.toCharArray();
// 计算字符出现的频率
int[] freq = new int[26];
for (char c : tArr) {
freq[c - 'a']++;
}
for (char c : sArr) {
freq[c - 'a']--;
}
// 找到频率不为0的字符
for (int i = 0; i < freq.length; i++) {
if (freq[i] != 0) {
return (char) (i + 'a');
}
}
return ' ';
}
public static void main(String[] args) {
String s = "abcd";
String t = "baedc";
char addedLetter = findAddedLetter(s, t);
System.out.println(addedLetter);
}
}
运行结果为:
原文地址: https://www.cveoy.top/t/topic/iwTe 著作权归作者所有。请勿转载和采集!