字符串翻转

《递归入门》

字符串翻转:将字符串 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;
}

更多解法和变形题目在后续进行添加 :)

你可能感兴趣的:(C++,C++,字符串)