Leetcode每日一题之仅仅反转字母(C++)
    		       		warning:
    		            这篇文章距离上次修改已过441天,其中的内容可能已经有所变动。
    		        
        		                
                
#include <iostream>
#include <string>
 
using namespace std;
 
class Solution {
public:
    string reverseOnlyLetters(string s) {
        int i = 0, j = s.size() - 1;
        while (i < j) {
            // 找到第一个字母和最后一个字母交换
            while (i < j && !isalpha(s[i])) i++;
            while (i < j && !isalpha(s[j])) j--;
            if (i < j) {
                swap(s[i++], s[j--]);
            }
        }
        return s;
    }
};
 
int main() {
    Solution solution;
    string input = "ab-cd-ef";
    cout << "Original string: " << input << endl;
    cout << "Reversed letters only: " << solution.reverseOnlyLetters(input) << endl;
    return 0;
}这段代码定义了一个Solution类,其中包含了reverseOnlyLetters成员函数,该函数实现了反转字符串中的所有字母,而保留非字母字符原位置不变的功能。然后在main函数中创建了Solution类的实例并调用了reverseOnlyLetters方法,最后输出了处理后的字符串。
评论已关闭