【莱乌编程笔记】用递归逆序字符串
【时间】2019-10-31
【内容】算法实例
【编程语言】C/C++
【代码构思】
题目要求使用递归,于是想到写出一个统一的操作,每次执行该函数交换一次字符,通过多次递归调用完成整个字符串的逆序,只是在只剩一个字符时要考虑不一样的处理(即提前保存第一个字符,最后再赋给末尾字符)。
【代码实现】
#include<iostream>
#include<cstring>
using namespace std
;
void reverse(char* str
){
char temp
= *str
;
int len
= strlen(str
);
*str
= *(str
+len
-1);
*(str
+len
-1)='\0';
if(len
>1)
reverse(str
+1);
*(str
+len
-1) = temp
;
}
int main(){
char* str
=new
char[1000];
gets(str
);
reverse(str
);
cout
<<str
<<endl
;
return 0;
}
转载请注明原文地址: https://mac.8miu.com/read-488835.html