颠倒一个字符串。优化速度。优化空间。

void reverse(char *str) {
  reverseFixlen(str, strlen(str));
}
void reverseFixlen(char *str, int n) {
  char* p = str+n-1;
  while (str < p) {
    char c = *str;
    *str++ = *p; *p--=c;
  }    

}

这也是微软的一个面试题,不过我觉得http://blog.csdn.net/v_july_v/article/details/6870251这里给出的代码有点问题,上面是我修改后的代码。

关于颠倒字符串问题还有很多其他的解法,具体参见:http://www.cnblogs.com/graphics/archive/2011/03/09/1977717.html(引用)

你可能感兴趣的:(数据结构与算法)