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

字符串移位包含问题与删除单词后缀问题

字符串移位包含问题

由于最多有字符串长度个移位,所以我利用字符串添加(即复制自身并添加到自己末尾)形成新的字符串,再在行的字符串中利用“.find()”函数寻找另一个字符串。再由题意反着来一遍即可。

#include<bits/stdc++.h>
using namespace std;
int main(){
string s1,s2;
cin >> s1 >> s2;
bool k = false;

string T = s1;//T用于存放拼接后的子串
for(char &c : s1){
T += c;//拼接一个s1
}
//检查s2是否是拼接后的s1子串
if(T.find(s2) != string::npos){k = true;}
else//由于是要检查一个是否是另一个,所以反过来检查一遍
{
T = s2;//重置字符串T
for(char &c : s2){
T += c;//拼接一个s2
}
//检查s1是否是拼接后的s2子串
if(T.find(s1) != string::npos){k = true;}
}
cout << boolalpha << k << endl;//输出字符型的布尔值k
}

删除单词后缀问题

由于要确认检查并删除的是单词后缀而非其他干扰部分,所以我新建一个字符串t 并且t = s;再在字符串后添加一个字符‘T’用于定位(也可以是其他字符,避免添加后也会在单词内部找到即可)。

然后利用“.find()”函数查找“erT”等,并定义一个ops用于记录其返回值(用于后续删除操作的定位)。

最后用“s.erase(ops,3)”函数(从ops开始截去3个字符)删除即可。

#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin >> s;
string t = s;
t += 'T';//用于确认检查的是单词后缀
size_t ops = t.find("erT");//检查是否含有"erT",并返回其索引值(如果不含有,则返回string::npos)
if(ops == string::npos) { ops = t.find("lyT");}//检查是否含有"lyT"
if(ops == string::npos) { ops = t.find("ingT");}//检查是否含有"ingT"

if(ops != string::npos){s = s.erase(ops,3);cout << s << endl;}//"s = s.erase(ops,3)"从ops开始截去3个字符
else cout << s << endl;
return 0;
}

http://www.rkmt.cn/news/98485.html

相关文章:

  • 【JavaWeb】HttpServletRequest_获取请求行和请求头
  • 剪映 6.0.1:免费解锁 VIP 功能,剪辑创作性价比之选
  • Day1 1.A+B问题I -卡码网C++基础课
  • 【干货】5 个神级 Prompt 助你 3 分钟读懂顶会论文
  • 5分钟搞定Yuzu模拟器:版本下载与快速启动全攻略
  • 计算机毕业设计springboot新星排球俱乐部运营系统 SpringBoot 驱动的“燃动排球俱乐部”综合运营平台 基于 SpringBoot 的“飞悦排球联盟”智慧管理与营销系统
  • 国内石油需求峰值延后至2040年,对A股意味着什么?全方位整理油气板块周期股逻辑
  • 实用指南:Streaming ELT with Flink CDC OceanBase Sink
  • Blender主题定制终极指南:如何快速打造个性化界面
  • 阿里云oss使用
  • 基于vue的协同过滤算法的旅游攻略管理系统_5thx2a10_springboot php python nodejs
  • UE5 材质-34-节点:
  • 权威发布:2025年上海BIP公司口碑综合排行,财务云/供应链云/制造云/好生意/人力云/税务云/协同云/好业财BIP管理系统怎么选择 - 品牌推荐师
  • 数字电路模拟程序大作业及课堂测验总结 - nanqiu
  • java计算机毕业设计社区智能诊疗服务系统 社区云诊室综合管理与辅助决策平台 基层智慧医疗在线问诊与病历协同系统
  • 【】网络io模型
  • 顶尖学术写作工具盘点:8款平台助你提升论文质量与规范性
  • Git - 项目克隆命令、冲突处理流程
  • 《Kafka 原理与架构分享》
  • 计算机毕业设计springboot电子病例系统 基于SpringBoot的智慧医疗病历管理平台 SpringBoot驱动的数字化门诊病历云系统
  • docker学习笔记
  • Java基础 - java基本程序设计结构
  • PageHelp插件使用
  • 【硕士生必看】毕业论文初稿写崩了?Paperzz智能生成+深度查重,助你3天逆袭,导师直呼“这水平够发核心”!
  • 【单片机毕业设计】【mcugc-mcu910】基于单片机的温控风扇
  • 08cms房产多城市版最新v8.7含小程序及装修网的安装及配置方法整理出来希望能帮到大家
  • 记录一次微前端改造:把 10+ 个独立 Vue 项目整合到一起
  • 【Java-小程序毕设项目】基于微信小程序的个人健康管理系统+SpringBoot后端实现
  • Windows系统中msg命令的完整使用方法及相关示例
  • LookingGlass与OBS集成:实现专业级游戏直播录屏