牛牛与字符串2

牛牛与字符串2

https://ac.nowcoder.com/acm/contest/9886/C

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 给定一个字符串s,返回具有相同前缀后缀的子串的第二大长度,反之,返回-1即可。
     * @param s string字符串 代表题意中的字符串s
     * @return int整型
     */
    public static int solve (String s) {
        int temp=0;
        int l=s.length();
        for (int i = 1; i < l; i++) {
            if(s.charAt(temp)==s.charAt(i)){
                temp++;
            }else{
                if(s.charAt(i)==s.charAt(0))temp=1;
                else temp=0;
            }
        }
        if(temp==0) return -1;
        return temp;
    }
}

"ababcabababc"这个结果应该是5,上面跑的是-1,这代码是对的?

全部评论
18-19行是有问题的。。。 如果next[i]位置失配了 不应该返回0或者1, 而是到 next[next[i]] 这个位置继续匹配
1 回复 分享
发布于 2020-12-11 23:14

相关推荐

迷茫的大四🐶:自信一点,我认为你可以拿到50k,低于50k完全配不上你的能力,兄弟,不要被他们骗了,你可以的
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务