C语言。

void reverse(char *str)
{
    char* end = str;
    char tmp;
    if (str) 
    {
        while (*end)
        {
            ++end;
        }
        //执行完while后end指向了null,所以需要--end来回退一下。
        --end;
        
        //头尾各自交换内容直到两个指针在中间碰头
        while (str <end)
        {
            tmp = *str;
            *str++ = *end;
            *end-- = tmp;
        }
    }
}

 PS:这样做就不用额外分配空间了。

相关文章:

  • 2021-07-28
  • 2022-12-23
  • 2021-05-30
  • 2021-07-28
  • 2022-12-23
  • 2022-02-08
  • 2022-02-19
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-19
  • 2022-12-23
  • 2022-12-23
  • 2022-03-01
  • 2021-08-29
  • 2022-02-09
相关资源
相似解决方案