不开辟用于交换数据的临时空间,如何完成字符串的逆序(在技术一轮面试中,有些面试官会这样问)
#include “stdafx.h”
void change(char *str) {
for(int i=0,j=strlen(str)-1; i<j; i++, j-){
str[i] ^= str[j] ^= str[i] ^= str[j];
/* s[i] = s[i]^s[j];
s[j] = s[i]^s[j];
s[i] = s[i]^s[j];*/
}
}
int main(int argc, char* argv[]) {
char str[] = “abcdefg”;
printf(”strSource=%s\n”, str);
change(str);
printf(”strResult=%s\n”, str);
return getchar();
}