领扣LintCode算法问题答案-702. 连接两个字符串中的不同字符
702. 连接两个字符串中的不同字符
给出两个字符串, 你需要修改第一个字符串,将所有与第二个字符串中相同的字符删除, 并且第二个字符串中不同的字符与第一个字符串的不同字符连接
样例 1:
输入 : s1 = “aacdb”, s2 = “gafd”
输出 : “cbgf”
样例 2:
输入 : “abcs”, s2 = “cxzca”
输出 : “bsxz”
题解
public class Solution {
/**
* @param s1: the 1st string
* @param s2: the 2nd string
* @return: uncommon characters of given strings
*/
public String concatenetedString(String s1, String s2) {
// write your code here
BitSet bitSet = new BitSet();
StringBuilder sb = new StringBuilder();
for (char c : s1.toCharArray()) {
if (s2.indexOf(c) == -1) {
sb.append(c);
} else {
// exists
bitSet.set(c);
}
}
for (char c : s2.toCharArray()) {
if (!bitSet.get(c)) {
sb.append(c);
}
}
return sb.toString();
}
}
鸣谢
非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。
欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。