树图思维导图提供 字符串 在线思维导图免费制作,点击“编辑”按钮,可对 字符串 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:0b177f35e992cddd460d3eaccfdad167
字符串思维导图模板大纲
方法1
while(cin>>s[i])
优点:简单好用
缺点:不读空格
方法2
getline(cin,s) for循环遍历字符,非空格字符往字符串数组中拼接。
for(int i=0;i<s.size();i++){ if(s[i]==' ')j++; else a[j]+=s[i]; }
子主题 1
例题
1406:单词替换
#include<bits/stdc++.h> using namespace std; string a[501]; int main(){ string s,x,y; int j=1; getline(cin,s); for(int i=0;i<s.size();i++){ if(s[i]==' ')j++; else a[j]+=s[i]; } cin>>x>>y; for(int i=1;i<=j;i++){ if(a[i]==x)cout<<y<<" "; else cout<<a[i]<<" "; } return 0; }
单词倒转
#include<bits/stdc++.h> using namespace std; string a[501]; int main(){ string s; int j=0; getline(cin,s); for(int i=0;i<s.size();i++){ if(s[i]==' ')j++; else a[j]+=s[i]; } for(int i=j;i>=0;i--){ cout<<a[i]<<" "; } return 0; }
例题
1144:单词翻转
法一:把单词中的字符倒着输出
法二:getline输入s字符串,倒序存储每个单词,反向输出。
1146:判断字符串是否为回文
法二:
法二:用while循环循环条件为i<j && s[i]==s[j],最后判断i>=j输出yes,否则输出no。
时间复杂度为O(l) ,但是运行次数比法一快了一倍。
法三:将输入的字符串翻过来存储到新的字符串里,再与原来的字符串比较。
写起来最方便,时间复杂度为O(l) ,运行次数同法一。
法一:将字符串左右对应比较,一旦不相同输出no,退出循环。循环结束输出yes。思维导图模板大纲
时间复杂度为O(l) l是输入字符串的长度。
树图思维导图提供 python思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 python思维脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a0bddae97bad22c753cc657ebce5d661
树图思维导图提供 字符串操作函数与正则表达式 在线思维导图免费制作,点击“编辑”按钮,可对 字符串操作函数与正则表达式 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:bb0f2ee42fa002a8fd111f8f761cc152