首页 > 其他 > 详细

c - 字符串的反转

时间:2014-12-08 10:30:27      阅读:265      评论:0      收藏:0      [点我收藏+]

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 - 字符串的反转

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!