gpt4 book ai didi

c - 在 C 中反转字符串的最快方法

转载 作者:太空狗 更新时间:2023-10-29 16:51:50 26 4
gpt4 key购买 nike

此函数是在 C 中反转字符串的最快、最优化的方法吗?这在 O(n/2) 时间内运行。优化是它只迭代字符串的一半。

char* str_reverse(char *str, int len)
{
char word[len];
int i;
for (i = 0; i <= len / 2; ++i) {
word[i] = str[len - i - 1];
word[len - i - 1] = str[i];
}
word[len] = '\0';
return word;
}

最佳答案

也许是这样的?

char *str_reverse_in_place(char *str, int len)
{
char *p1 = str;
char *p2 = str + len - 1;

while (p1 < p2) {
char tmp = *p1;
*p1++ = *p2;
*p2-- = tmp;
}

return str;
}

关于c - 在 C 中反转字符串的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34035169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com