关注
第一道题其实就是剑指offer中调整数组顺序使奇数位于偶数前变形题。 如果需要保证相对顺序不变的话,可以直接另开两个字符串空间,第一个字符串保存#,另一个字符串保存字母,最后将这两个字符串的和重新赋值给原先的字符串。 void string_shift2(string &s,int len)
{
if(s.empty()) return;
string s1,s2;
for(auto e:s)
{
if(e=='#') s1+=e;
else if(isalpha(e)) s2+=e;
}
s=s1+s2;
} 如果不需要保证相对顺序的话,可以维护两个指针。第一个指针指向字符串的第一个字符,它只向后移动,直到遇见字符为字母,第二个指针指向数组的最后一个字符,它只向前移动,直到遇到#。然后交换两个指针的内容,一直重复上述过程,直到两个指针相遇。 void string_shift(string &s,int len)
{
if(s.empty()) return;
int index1=0;
int index2=len-1;
while(index1<index2)
{
while(index1<index2&&!isalpha(s[index1]))
++index1;
while(index1<index2&&isalpha(s[index2]))
--index2;
if(index1<index2)
swap(s[index1],s[index2]);
}
}
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 大厂VS公务员你怎么选 #
42315次浏览 511人参与
# 产品实习,你更倾向大公司or小公司 #
175390次浏览 1990人参与
# 未岚大陆求职进展汇总 #
21666次浏览 100人参与
# 发面经攒人品 #
2662353次浏览 36198人参与
# 一汽大众工作体验 #
11229次浏览 23人参与
# 26届秋招公司红黑榜 #
742次浏览 3人参与
# 平安产险科技校招 #
1613次浏览 0人参与
# 参加完秋招的机械人,还参加春招吗? #
66959次浏览 596人参与
# 最难的技术面是哪家公司? #
52779次浏览 880人参与
# 机械人的工作环境真的很差吗 #
23339次浏览 117人参与
# 来聊聊机械薪资天花板是哪家 #
145828次浏览 804人参与
# 我对___祛魅了 #
133887次浏览 743人参与
# 你有哪些缓解焦虑的方法? #
36114次浏览 829人参与
# 关于提前批我想问 #
242224次浏览 2284人参与
# 你现在会用到哪些AI技能? #
12041次浏览 102人参与
# 职场捅娄子大赛 #
428958次浏览 4161人参与
# 我的求职进度条 #
117209次浏览 1403人参与
# 经纬恒润求职进展汇总 #
135619次浏览 1059人参与
# 机械制造公司评价 #
147986次浏览 347人参与
# 通信硬件2023笔面经 #
42294次浏览 287人参与
# 你还有多少年退休? #
27773次浏览 192人参与
# 华为工作体验 #
233590次浏览 1285人参与