Problem: 917. Reverse Only Letters 仅仅反转字母
耗时100%,用一个字符串仅仅记录英文字母,然后翻转的,最后双指针,一个指向s,一个指向tg,将tg的字符填充到s当中
Code
class Solution { public: string reverseOnlyLetters(string s) { int n = s.size(); string tg; for(int i = 0; i < s.size(); i++) { if(isalpha(s[i])) { tg += s[i]; } } reverse(tg.begin(), tg.end()); int l = 0, start = 0; while(start < tg.size()) { while(l < n && !isalpha(s[l])) l++; s[l++] = tg[start++]; } return s; } };