华为题:敏感词替换

给定一个字符串 s 和一个敏感词列表,请将 s 中所有出现的敏感词替换为 ***。

敏感词替换不区分大小写,但替换后统一用 *** 表示。

输入描述

第一行输入字符串 s。

第二行输入一个整数 n,表示敏感词数量。

接下来 n 行,每行输入一个敏感词。

输出描述

输出替换后的字符串。

示例 1

输入

text

复制代码
Hello World
2
hello
world

输出

text

复制代码
*** ***

C++ 解法

cpp

复制代码
#include <bits/stdc++.h>
using namespace std;

string toLower(string s) {
    for (char& c : s) c = tolower(c);
    return s;
}

int main() {
    string s;
    getline(cin, s);

    int n;
    cin >> n;
    cin.ignore();

    vector<string> words(n);
    for (int i = 0; i < n; i++) {
        getline(cin, words[i]);
    }

    string lowerS = toLower(s);

    for (auto& w : words) {
        string lw = toLower(w);
        int pos;

        while ((pos = lowerS.find(lw)) != string::npos) {
            s.replace(pos, w.size(), "***");
            lowerS.replace(pos, w.size(), "***");
        }
    }

    cout << s << endl;
    return 0;
}
相关推荐
0+1111 小时前
算法 --哈希表
数据结构·算法·散列表
Interview Aid1122 小时前
Stripe VO 面经汇总:5 轮面试题目与考察重点
算法
EEET智选2 小时前
科技晨间速报 | AI 安全警钟、开源新模型与苹果智能家居
人工智能·科技·算法·机器学习·ai
挖掘狂人2 小时前
哈希算法:一根看不见的 "指纹",如何撑起整个互联网
算法·程序员·掘金技术征文
鶴哥只手遮天2 小时前
ecRad 1.5.0 算法原理详解
算法·开源
不会就选b3 小时前
算法日常・每日刷题--<动态规划>22
算法·动态规划
释厄6233 小时前
字画同体论——字即画·几何即字·漫画与小说=文本层
人工智能·算法
沫璃染墨3 小时前
从零入门数据结构与算法(一):复杂度分析——从算法效率到时间与空间复杂度
c语言·开发语言·数据结构·笔记·算法·飞书
熊猫钓鱼>_>3 小时前
面试出现 606 次的第 K 大,被拆成三个问题问
算法·面试·职场和发展·校招·面经·oj·ai生成