题目
2000.反转单词前缀
题目大意
给你一个下标从 0 开始的字符串 word
和一个字符 ch
。找出 ch
第一次出现的下标 i
,反转 word
中从下标 0
开始、直到下标 i
结束(含下标 i
)的那段字符。如果 word
中不存在字符 ch
,则无需进行任何操作。
- 例如,如果
word = "abcdefd"
且ch = "d"
,那么你应该 反转 从下标 0 开始、直到下标3
结束(含下标3
)。结果字符串将会是"dcbaefd"
。
返回 结果字符串 。
样例
数据规模
思路
直接枚举 w o r d word word字符串,对于 非 c h 非ch 非ch的字符直接加入 p r e pre pre字符串即可,一旦遇到第一个等于 c h ch ch的字符,直接加入 p r e pre pre字符串后面,然后翻转 r e v e r s e reverse reverse操作即可。然后顺次添加后面的所有字符。
代码
class Solution {
public:
string reversePrefix(string word, char ch) {
string pre,last;
for(int i=0;i<word.length();i++){
if(word[i]==ch){
pre+=word[i];
reverse(pre.begin(),pre.end());
pre+=word.substr(i+1,word.length()-i+1);
break;
}
else{
pre+=word[i];
}
}
return pre;
}
};