【发布时间】:2023-03-06 18:38:02
【问题描述】:
我正在使用 HashMap() 来解决这个问题,但在输出中字符的顺序和出现方面遇到了问题。
我尝试在迭代时和创建 StringBuilder 后反转 String 构建器,但仍然面临另一个问题。
int l1 = inputStr1.length();
int l2 = inputStr2.length();
StringBuilder mkr = new StringBuilder();
HashMap<Character, Integer> res = new HashMap<>();
for (int i = 0; i < l1; i++) {
res.put(inputStr1.charAt(i),i);
}
for (int j = 0; j < l2; j++) {
if (res.containsKey(inputStr2.charAt(j))){
mkr.append(inputStr2.charAt(j));
}
}
mkr = mkr.reverse(); // Code only used in Test Scenario - 2
String result = mkr.toString();
if(result == null){return null;}
return result;
测试场景 1 - 输入字符串 1:你好 输入字符串 2:世界 预期输出为:lo 我的代码生成的实际输出:ol
测试场景 2 - [反转 StringBuilder 后] 输入字符串 1:嗨,你很好 输入字符串 2:嗨,伙计 预期输出是:hi a 我的代码生成的实际输出:a ih
【问题讨论】:
标签: java string hashmap hashset