技术类网站模板,怎么做影视类网站,微信开发者文档下载,自助建站系统平台题目链接
833. 字符串中的查找与替换
标签
字符串
步骤
Step1. 初始化 ans[]#xff1a;
for (int i 0; i s.length(); i) { // 初始化ansans[i] s[i];
}Step2. 根据 index, source, target 查找#xff1b;如果找到#xff0c;那么将 ans[i] 更改为 target
for (int i 0; i s.length(); i) { // 初始化ansans[i] s[i];
}Step2. 根据 index, source, target 查找如果找到那么将 ans[i] 更改为 target并将其后source.length()-1位设为空被替换。
for (int i 0; i n; i) {int idx indices[i];string src sources[i], dst targets[i];// 1.checkif (!findStr(s, src, idx)) {continue;}// 2.replaceans[idx] dst;for (int j idx 1; j idx src.length(); j) {ans[j] ;}
}其中findStr() 如下
bool findStr(string str, string target, int idx) {int pos str.find(target, idx);if (pos string::npos || pos ! idx) {return false;}return true;
}Step3. 拼接 ans[] 为一个字符串。
string res;
for (int i 0; i ans.size(); i) {res ans[i];
}实现代码C
class Solution {
public:bool findStr(string str, string target, int idx) {int pos str.find(target, idx);if (pos string::npos || pos ! idx) {return false;}return true;}string findReplaceString(string s, vectorint indices, vectorstring sources, vectorstring targets) {int n sources.size();vectorstring ans(s.length());for (int i 0; i s.length(); i) { // 初始化ansans[i] s[i];}for (int i 0; i n; i) {int idx indices[i];string src sources[i], dst targets[i];// 1.checkif (!findStr(s, src, idx)) {continue;}// 2.replaceans[idx] dst;for (int j idx 1; j idx src.length(); j) {ans[j] ;}}string res;for (int i 0; i ans.size(); i) {res ans[i];}return res;}
};