首页 > 数据结构与算法 > 字符串之反转
2016
12-23

字符串之反转

一、原理
        举例说明什么是反转,比如:将字符串"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;
        }
 

 转自:http://blog.chinaunix.net/uid-22312037-id-3683005.html

最后编辑:
作者:liujg
真实-不弄虚,不做假,做自己,不违心; 踏实-不浮躁,不盲从,不急功,不近利; 实学-不投机,不取巧,勤于学,精于业。