ACM竞赛试题及详细答案.docxVIP

  • 29
  • 0
  • 约5.76千字
  • 约 9页
  • 2026-04-16 发布于河北
  • 举报

ACM竞赛试题及详细答案

试题一:字符串替换(基础字符串操作)

题目描述

给定一个字符串s,以及两个字符串a和b,将s中所有出现的a字符串替换为b字符串(a不为空),输出替换后的字符串。注意:a在s中可能出现多次,且可能存在重叠情况,但本题中保证a不重叠(即a的长度大于1时,任意两个a的出现位置不重叠),简化处理。

输入格式:第一行输入字符串s,第二行输入字符串a,第三行输入字符串b。所有字符串长度不超过1000,仅包含小写字母。

输出格式:输出替换后的字符串。

样例输入:

abcabxabc

ab

xy

样例输出:xycxydxyc

详细解题思路

核心思路:遍历字符串s,依次查找a的出现位置,找到后替换为b,继续向后遍历(跳过a的长度,因题目保证不重叠),未找到则直接拼接当前字符。

步骤拆解:

1.获取s、a、b的长度,分别记为len_s、len_a、len_b;

2.定义一个结果字符串res,用于存储最终结果;

3.定义索引i,从0开始遍历s:

①若i+len_alen_s,说明剩余字符不足a的长度,直接将剩余字符拼接至res,结束遍历;

②截取s中从i开始、长度为len_a的子串,与a对比;

③若相等,将b拼接至res,i+=len_a(跳过当前a的长度);

④若不相等,将s[i]拼接至res,i+=1;

文档评论(0)

1亿VIP精品文档

相关文档