字符串反转是面试的常见题目,最近从C#往C++上转,去了3个公司,有两个公司都考了这个题目,研究了一下,代码如下;
第一种,用STL的 sting,实现方式简单
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str="abcdefg";
cout<<"原始字符串"<<str<<endl;
//就用了一个函数,简单吧
reverse(str.begin(),str.end());
cout<<"转换后的字符串是"<<str<<endl;
return 0;
}
第二种方法:
#include <iostream>
using namespace std;
int main()
{
char a[]="abcde";
cout<<"转换前:"<<a<<endl;
int i=0;
int j;
char t;
for(i=0,j=strlen(a)-1;i<strlen(a)/2;i++,j--)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
cout<<"转换后:"<<a<<endl;
return 0;
}
这两种方法都只能反转"abcde",但是碰到 I love you!就无能为力了,嗯,下次再想办法!!