如何用Java编写递归方法实现字符串与自身反转结果的拼接
Java递归实现字符串拼接需求解决方案
你当前编写的reverse方法已经实现了字符串反转的核心逻辑,输入"Java"时会输出"avaJ",仅需要补充原字符串和反转结果的拼接步骤即可,由于拼接不需要参与递归过程,推荐将纯反转逻辑抽为私有辅助方法,最终代码如下:
public static String reverse(String str) { // 空参数单独处理,避免空指针异常 if (null == str) { return null; } // 直接拼接原字符串和反转结果 return str + reverseInner(str); } // 私有辅助方法:递归实现字符串反转 private static String reverseInner(String str) { if (str.length() <= 1) { return str; } return reverseInner(str.substring(1)) + str.charAt(0); }
效果验证
- 输入
"Java"时,返回结果为"JavaavaJ",完全匹配需求 - 输入单字符
"a"时,返回"aa" - 输入空字符串
""时,返回"" - 输入
null时,返回null符合空参数处理规范
内容的提问来源于stack exchange,提问作者ameaturatlife
相关产品推荐
相关产品推荐

