c_cpp 在不影响特殊字符的情况下反转字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 在不影响特殊字符的情况下反转字符串相关的知识,希望对你有一定的参考价值。

/*
http://ideone.com/hUuU3D
http://www.geeksforgeeks.org/reverse-an-array-without-affecting-special-characters/
http://www.practice.geeksforgeeks.org/problem-page.php?pid=973
*/

#include <iostream>
#include <string>
#include <vector>
using namespace std; 

int main() {
	int t;
	cin >> t;
	while(t--){
		string s;
		cin >> s;
		int l = 0;
		int h = s.size() - 1;
		char temp = ' ';
		while(l < h){
			if((s[l] >= 'a' && s[l] <= 'z') || (s[l] >= 'A' && s[l] <= 'Z')){
				if((s[h] >= 'a' && s[h] <= 'z') || (s[h] >= 'A' && s[h] <= 'Z')){
					temp = s[l];
					s[l] = s[h];
					s[h] = temp;
					l++;
					h--;
				}else{
					h--;
				}
			}else{
				l++;
			}
		}
		cout << s <<endl;
	}
	return 0;
}

以上是关于c_cpp 在不影响特殊字符的情况下反转字符串的主要内容,如果未能解决你的问题,请参考以下文章

在不使用反向函数的情况下反转给定的字符串[关闭]

在不使用javascript中的内置函数的情况下逐字反转字符串

我想反转堆栈,但我不知道如何使用递归来反转这个......如何在不使用递归的情况下反转堆栈

在不验证文件路径的情况下检查文件名中的无效字符(特殊字符和国际字符)

c_cpp 字符串反转

c_cpp 使用指针算法反转字符串