码迷,mamicode.com
首页 > 其他好文 > 详细

c - 字符串的反转

时间:2014-12-08 10:32:43      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:style   blog   ar   color   sp   for   on   div   log   

1,递归实现

 1 // 递归实现字符串反转(可通过栈的调用来加深理解).     
 2 char *
 3 reverse(char *c) {
 4     if(!c)
 5         return NULL;
 6     int len = strlen(c);
 7     if(len > 1) {
 8         char tmp = c[0];
 9         c[0] = c[len - 1];
10         c[len - 1] = \0;    //尾部的字符在下一次递归时不处理.
11         reverse(c + 1);
12         c[len - 1] = tmp;
13     }
14     return c;
15 }

2,非递归实现(比较简单)

 1 //非递归实现.
 2 void
 3 non_recursive(char *c) {
 4     int len = strlen(c);
 5     char tmp;
 6     for(int i = 0; i < len / 2; i++) {
 7         tmp = c[i];
 8         c[i] = c[len - i - 1];
 9         c[len - i - 1] = tmp;
10     }
11 }

 

c - 字符串的反转

标签:style   blog   ar   color   sp   for   on   div   log   

原文地址:http://www.cnblogs.com/listened/p/4150424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!