Chinaunix首页 | 论坛 | 博客
  • 博客访问: 460505
  • 博文数量: 285
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 629
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-14 17:53
个人简介

相信自己,快乐每一天

文章分类

全部博文(285)

分类: 架构设计与优化

2013-11-01 15:03:30

原文地址:字符串之反转 作者:scq2099yt

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






阅读(571) | 评论(0) | 转发(0) |
0

上一篇:字符串之回文

下一篇:二叉树之重建

给主人留下些什么吧!~~