字符串翻转:将字符串 test 翻转,变为 tset
解法:递归
此题的递归跟判断回文字符串的解法原理一样。只是不是比较两端字符,而是直接交换。
#include <iostream>
using namespace std;
int str_turn(int low, int high, char *p, int length)
{
char temp;
if (length == 1 || length == 0 )
{
return 0;
}
temp = p[low];
p[low] = p[high];
p[high] = temp;
return str_turn(low+1, high-1, p, length-2);
}
int main()
{
char str[]="test";
str_turn(0, strlen(str)-1, str, strlen(str));
cout << str;
return 0;
}
更多解法和变形题目在后续进行添加 :)