咪子w 2022-12-20 03:28 采纳率: 0%
浏览 40

Java用递归查找某个字符串在另一个字符串中出现的次数

Complete the method numXY.
It finds the number of times the string "XY" appears in the input string recursively.
You must not use any loops or regular expressions.
Test cases:
numXY("AAXYAA") → 1
numXY("AXYBXYAA") → 2

格式:
public static int numXY(String input) {

// base case



// recursive step

}

  • 写回答

3条回答 默认 最新

  • 小秋Kaito 2022-12-20 10:20
    关注

    提供一个思路,代码和注释在下面

    public static int numXY(String input) {
            String XY = "XY";
            // base case
            // 被查找的字符串为null的话,出现次数肯定为0,终止递归
            if (input == null){
                return 0;
            }
            // 如果字符串长度已经小于待查找的字符串了,说明出现次数为0,终止递归
            if(input.length() < XY.length()){
                return 0;
            }
            // count记录了被查找的字符串是否以XY开头,0不是,1是
            int count = 0;
            if (input.startsWith(XY)){
                count++;
            }
            // recursive step
            // 从第二个字符开始的子字符串进行递归
            return numXY(input.substring(1)) + count;
        }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月20日

悬赏问题

  • ¥20 朋友下软件后桌面变成这样,怎么办?
  • ¥15 关于#hadoop#的问题,请各位专家解答!
  • ¥15 如何批量抓取网站信息
  • ¥15 Spring Boot离线人脸识别
  • ¥15 NRF24L01能发送但是不能接收
  • ¥15 想问一下这种情况怎么解决呢(关键词-file)
  • ¥15 python Flassk 模块部署 服务器时报错
  • ¥15 Opencv(C++)异常
  • ¥15 VScode上配置C语言环境
  • ¥15 汇编语言没有主程序吗?