[leetcode/lintcode 题解] 滴滴面试题:字符删

2020-06-02  本文已影响0人  SunnyZhao2019

【题目描述】

输入两个字符串,从第一字符串中删除第二个字符串中所有的字符

在线评测地址:

https://www.lintcode.com/problem/character-deletion/?utm_source=sc-js-mh0602

样例 :

<pre>输入:  str=”They are students”,sub=”aeiou”
输出: ”Thy r stdnts”</pre>

【题解】

用一个数组储存第二串中出现过的元素,然后遍历第一数组,将未出现在第二数组中的元素保存,最后输出答案

<pre>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();
    }
}</pre>

更多语言代码参见

https://www.jiuzhang.com/solution/character-deletion/?utm_source=sc-js-mh0602

上一篇下一篇

猜你喜欢

热点阅读