[C++]递归实现字符串倒序

string revers(string s)
{
	string str(s); //直接将形参s字符串的值赋值给实参str
	int start = 0, end = s.length() - 1; //此处end必须-1,因为length直接求出长度(由1开始计数),而字符串的下标是由0开始
	for(int i=0; i<s.length(); i++)
	{
		swap(s[end], str[start]);
		end--;
		start++;
	}
	return str;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
递归是一种方法,通过不断调用自身来解决问题。为了使用递归实现字符串倒序,我们可以考虑以下步骤: 首先,定义一个递归函数reverseString,输入参数为一个字符串str。在递归函数中,我们需要处理以下两种情况: 如果输入字符串为空或长度为1,直接返回该字符串,因为无法再进行倒序。 否则,递归地调用reverseString函数,传入除去第一个字符的子字符串,然后将得到的结果与第一个字符连接起来作为返回值。 下面是一个使用递归实现字符串倒序的Java代码示例: ```java public class ReverseString { public static String reverseString(String str) { if (str == null || str.length() <= 1) { return str; } else { return reverseString(str.substring(1)) + str.charAt(0); } } public static void main(String[] args) { String input = "Hello World!"; String reversed = reverseString(input); System.out.println(reversed); } } ``` 在这个示例中,我们定义了一个静态方法reverseString,该方法接收一个字符串作为输入,并返回倒序后的字符串。在main方法中,我们使用了一个示例字符串"Hello World!"来测试reverseString方法,并将结果打印输出。 当我们运行这段代码时,将会输出"!dlroW olleH",即原字符串"Hello World!"的倒序形式。 这就是使用递归实现字符串倒序的方法,通过逐步缩小问题规模,并在每一步调用函数自身,最终得到结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值