[题目描述] 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
在线评测地址: https://www.lintcode.com/problem/character-deletion/?utm_source=sc-v2ex-fks0602
样例 :
输入: str=”They are students”,sub=”aeiou”
输出: ”Thy r stdnts”
[题解] 用一个数组储存第二串中出现过的元素,然后遍历第一数组,将未出现在第二数组中的元素保存,最后输出答案
public class Solution {
/**
* @param str: The first string given
* @param sub: The given second string
* @return: Returns the deleted string
*/
public String CharacterDeletion(String str, String sub) {
int[] tmp = new int[256];
for (int i = 0; i < sub.length(); i++) {
tmp[sub.charAt(i)]++;
}
StringBuffer ans = new StringBuffer("");
for (int i = 0; i < str.length(); i++) {
if (tmp[str.charAt(i)] == 0) {
ans.append(Character.toString(str.charAt(i)));
}
}
return ans.toString();
}
}
更多语言代码参见 https://www.jiuzhang.com/solution/character-deletion/?utm_source=sc-v2ex-fks0602
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.