首页 > 代码库 > c - 字符串的反转
c - 字符串的反转
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 - 字符串的反转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。