ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 1. 字符串翻转 在这个过程中不能引入外部的变量,仅使用递归来求解这个问题。对于这个问题,需要找到其子问题,以及程序的出口。不妨做一个简单的分析: - 如果字符串只有一个字符,那么返回这个字符串即可; - 如果字符串不只有一个字符,那么我们需要划分为左右两个部分,然后返回右左即可; 那么,对应的代码可以描述为: ~~~ /** * 递归的完成字符串的翻转 * @param str 待翻转字符串 * @return 翻转后字符串 */ public String reverse(String str){ int len = str.length(); if(len <= 1){ // 长度为空或者为1均返回这个字符本身 return str; } String left = str.substring(0, len / 2); String right = str.substring(len / 2, len); return reverse(right) + reverse(left); } ~~~