一、原理
举例说明什么是反转,比如:将字符串"abcdef"转换为"fedcba",称之为字符串反转。
可以用数组来存放字符串,字符串以0x00结尾,循环遍历字符串,依次将第一个字符与最后一个字符交换,第二个字符与倒数第二个字符交换...如此这般直到字符串中间,如果字符串长度为偶数,那么中间就有两个字符,交换即可,如果字符串长度为奇数,则最中间只有一个字符,保持其位置不变即可。
二、实现
char *reversestring(char *str)
{
if (NULL == str)
{
return NULL;
}
char *start = str;
int len = 0;
while (*str++)
{
++len;
}
char *end = str + len - 1;
char ch = '';
while (start < end)
{
ch = *start;
*start++ = *end;
*end-- = ch;
}
return str;
}
阅读(1951) | 评论(1) | 转发(1) |