我不擅长Java,所以我想提前说“这是我的作业”,请“不要做我的作业”,这是递归的第一个作业,所以这是我的第一次。话虽如此,这些是我的作业说明,但我不确定为了实现目标我需要采取的步骤。我所需要的只是一个很棒的男人/女孩,他可以告诉我如何完成家庭作业的详细信息,以及一些步骤。我读过这本书,查看了一些关于递归的网站,但我觉得我需要更多帮助。
Write a recursive static method that, given two string s and t, returns an array of all positions where t occurs in s. For example, findLocations("Frances ran and ran", "ran") returns [1, 8, 16].
最佳答案
我可能会这样处理:
给定参数
inputString
和substring
,调用index = inputString.indexOf(substring)
。如果
substring
没有找到(index
= -1),你应该返回空数组(new int[0]
),因为inputString
中不存在子字符串。否则
substring
确实 存在,在这种情况下您应该执行以下操作:获取字符串剩余部分的索引数组,使用类似
<arr = findLocations(inputString.substring(index+1), substring)
通过向每个元素添加
index
来调整arr
中的索引。返回
index
,与arr
连接。
关于java - 递归返回 i 在 j 中出现的位置数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9368486/