当前位置: 首页 > wzjs >正文

泉州网页模板建站青岛百度代理公司

泉州网页模板建站,青岛百度代理公司,手机网站存储登录信息,东营网签查询系统官方网站题目 字符串的替换操作 replace(String &s, String &t, String &v) 是指: 若t是s的子串,则用串v替换串t在串s中的所有出现;若t不是s的子串,则串s不变。例如,若串s为“aabbabcbaabaaacbab”,串…

题目

字符串的替换操作 replace(String &s, String &t, String &v) 是指:

若t是s的子串,则用串v替换串t在串s中的所有出现;若t不是s的子串,则串s不变。例如,若串s为“aabbabcbaabaaacbab”,串t为“bab”,串v为“abdc”,则执行replace操作后,串s中的结果为“aababdccbaabaaacabdc”。试利用字符串的基本运算实现这个替换操作。

分析

在笔试题中一般不允许使用算法库,我的思路时开辟一个新的内存空间,因为替换可能造成索引混乱,用滑窗遍历字符串,也可以理解为迭代器,找到匹配的位置,把起点索引和结尾索引记录为unorder_map,额还是用到了stl....那就再改一下,用数组存储索引,步长为2,每两个代表找到的一个位置,在新创建的空间里面,把不用替换的部分和要替换的部分组合起来形成新的字符串,就是替换后的字符串。笔试题不会这么复杂吧,这么复杂我选择不写耽误时间。

实现

上面那个量大了,笔试那样写时间够不够都不好说,就改用string的find和replace实现。自定义全局的替换函数,每次找到的字符串直接进行替换然后更新查找的起始位置

#include <iostream>
#include <string>void replace(std::string& s, const std::string& t, const std::string& v) {if (t.empty()) return; // 空子串直接返回size_t start_pos = 0;while ((start_pos = s.find(t, start_pos)) != std::string::npos) {s.replace(start_pos, t.length(), v);start_pos += v.length(); // 跳过已替换部分,避免重复处理}
}int main() {std::string s = "aabbabcbaabaaacbab";std::string t = "bab";std::string v = "abdc";replace(s, t, v);std::cout << "替换结果: " << s << std::endl; // 输出: aababdccbaabaaacabdcreturn 0;
}

http://www.dtcms.com/wzjs/430777.html

相关文章:

  • 青岛开发区网站建设公司网络推广都有哪些平台
  • 网站建设 乐清网络公司seo网站优化知识
  • 陕西省建设资格注册中心网站广告传媒公司
  • linux 网站建设网络营销论文5000字
  • 中山祥云做的网站怎么样百度百科湖南seo技术培训
  • ppt网站建设推广平台 赚佣金
  • 网站建设应遵守的原则个人怎么在百度上做推广
  • 公关策划网站建设深圳门户网站
  • 如何说服别人做网站免费html网页模板
  • 女女做网站推广赚佣金
  • discuz视频网站模板新发布的新闻
  • 做商城外贸网站百度搜索页
  • 做网站的基础架构济南百度推广公司电话
  • 青海住房与城乡建设厅网站中央新闻频道直播今天
  • 广州外贸推广天津seo推广服务
  • 宁波做简单网站的网站关键词在线优化
  • 学校网站建设制度seo研究中心教程
  • 有没有免费做网站的58同城如何发广告
  • 深圳航空公司官方网站发稿吧
  • 怎么做网站外链接武汉网站seo德升
  • 网站设计市场价seo整站优化外包公司
  • 怎么给别人做网站合肥seo网站排名
  • jarvis主题wordpressseo建站技术
  • 淘宝网站如何做虚拟seo建站还有市场吗
  • 长沙网站设计公司哪家好北京公司排名seo
  • 团购网站平台建设2022国内外重大新闻事件10条
  • 可靠的合肥网站建设千万别在百度上搜别人的名字
  • 如何传图片做网站加盟
  • 郑州免费建站网站怎么宣传
  • 网站开发主题信息流推广