字符串翻转集合, case1, hello world->world hello; case2, hello world->olleh dlrow
2014-05-01 16:37
447 查看
Case1: 从hello world 翻转成 world hello
/*大概的理念是先把所有字符串都翻转了,所以hello world 编程dlrow olleh. 然后再每个字符之间翻转,变成world hello(以空位为分界点)*/
Case2: 从hello world翻转成olleh dlrow
/*大概的理念是以空格为分界点,每个字符串之间翻转*/
考察三个方面,一是对指针和字符串的理解,二是是否进行合法性检查,例如输入参数为空指针时是否进行检查,三是返回值是否是恰当
/*大概的理念是先把所有字符串都翻转了,所以hello world 编程dlrow olleh. 然后再每个字符之间翻转,变成world hello(以空位为分界点)*/
Case2: 从hello world翻转成olleh dlrow
/*大概的理念是以空格为分界点,每个字符串之间翻转*/
void reverseWords(char str[]) { if (!str) return; int cur=0, start =0; while(str[cur]) { if(str[cur]==SPECIAL_CHAR||str[cur]== " ") { cur=cur-1; reserver(str, start, cur); start=cur+1; } cur++; } } void reverse(char *str, int beg, int end) { while(beg<end) { char temp=str[beg]; str[beg]=str[end]; str[end]=temp; beg++; end--; } }
考察三个方面,一是对指针和字符串的理解,二是是否进行合法性检查,例如输入参数为空指针时是否进行检查,三是返回值是否是恰当
char *revstr(char *str, size_t len) { char *start = str; char *end = str + len - 1; char ch; if (str != NULL) { while (start < end) { ch = *start; *start++ = *end; *end-- = ch; } } return str; }
相关文章推荐
- 字符串翻转集合, case1, hello world->world hello; case2, hello world->olleh dlrow
- 编程之美的2.17,数组循环移位 & 字符串逆转(反转) Hello world Welcome => Welcome world Hello
- <Linux+Qt> Qt基本Hello,World解释
- hello world 输出 olleh dlrow
- hello world 输出 olleh dlrow
- Spark实现的hello world<转>
- COBOL语言编写<hello world>
- 递归字符串翻转"abc"->"cba"
- 九度:1464<Hello World For U><排版>
- 定义一个字符串“Hello World ! Coffee”,将此字符串拆分成Hello,World,Coffee三个单词
- struts2入门-第一个例子==》第一个struts2实例——HelloWorld==》Struts2.0搭建和简单实例==>写一个Steuts2的经典入门案例,做了一个登陆程序作为入门例子
- <script type="text/javascript">alert("hello world");</script>
- 环境配置"错误:找不到或无法加载主类HelloWorld"之疑
- 第一个驱动helloworld&nbsp;module加载i…
- "Hello World"之ASP版
- latex hello world
- 正则取得字符串的长度<byte> 并根据字节截取字符串
- Collection -> 集合的拷贝
- Linux设备驱动程序学习(0) -设备驱动介绍& Hello, world!模块
- MyEclipse下编写JSP "Hello World"