栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

递归将char移动到字符串的末尾

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

递归将char移动到字符串的末尾

递归是在内部重用方法的实践。在这种情况下,我将提供一个解决方案来解释发生的情况:

public static String chrToLast(String str, char ch) {    //This if statement details the end condition    if(str.length() < 1) {        return "";    }    String newString = str.substring(1); //Create new string without first character    if(str.indexOf(ch) == 0) { //This happens when your character is found        return chrToLast(newString, ch) + ch;    } else { //This happens with all other characters        return str.charAt(0) + chrToLast(newString, ch);    }}

如果执行:

chrToLast("Hello, World!", 'l')

这将产生所需的结果:

Heo, Word!lll

处理

通常,此方法通过检查当前哪个字符是给定字符串中的第一个字符,然后确定要做什么来起作用。如果第一个字符与您要查找的(

l
)相同,则它将从字符串中删除该字符并
chrToLast

新字符串上使用 。但是,它还会通过使用将找到的字符添加到结果的末尾
+ ch
。它将继续执行此操作,直到没有剩余的字符为止,这是 结束条件
的作用。

结束条件

结束条件返回一个空字符串,

""
因为这就是算法的 基本情况 。您可以将递归算法视为通过多次调用自身来解决问题的方法。通过调用自己,递归算法趋于
base
。在这种特殊情况下,它是通过每次执行该方法时从字符串中减去一个字符来实现的。一旦没有字符,它就会到达基本情况
""
,即字符串最终为空,并且不再可以减去任何字符。(因此,它不返回任何最终状态)

我希望这回答了你的问题。了解这一概念非常重要,因为它非常强大。尝试研究代码并注释一些不清楚的地方。

通过在IDE中执行此代码并使用调试器逐步执行该代码,也可以有所帮助。然后,您可以自己查看程序的流程,并查看正在运行的变量的值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号