Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5761145
  • 博文数量: 291
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7924
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 14:28
个人简介

阿里巴巴是个快乐的青年

文章分类

全部博文(291)

文章存档

2018年(21)

2017年(4)

2016年(5)

2015年(17)

2014年(68)

2013年(174)

2012年(2)

分类: 架构设计与优化

2013-05-13 16:07:24

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

上一篇:二叉树之重建

下一篇:字符串之回文

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

scq2099yt2013-05-13 16:07:36

文明上网,理性发言...