java最简单(没有之一)的找周期串问题(总共10行代码)离经但不叛道

如果一个字符串 可以有某一个长度的为k的字符串组成。比如:abcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabcaabca
是以为周期的 他也以 8和12为周期 求最小周期对应的字符串。
思路:for循环 循环判断。但是很明显:第一组和第二组 和第三组等等等等判断 。有没有最简单的办法呢。有
s.split(s.substring(0,i)) 我把所有的字符串 按照某一个链接分成数组,如果每一个数组都是空的。说明 这是最小的周期串直接上代码

 String  s="abaaabaaabaaabaaabaaabaaabaaabaaabaaabaaabaaabaaabaaabaa";
                for (int i = 1; i <= s.length()/2; i++) {//循环遍历  到一半就好了  之后无意义
                    String  result="";
                    String[] mystring= s.split(s.substring(0,i));//分割字符串  变成数组
                    for (int j = 0; j < mystring.length; j++) {
                        result+=mystring[j]; }//循环增加截取的字符串  如果每一个是空的话
                    if (result.equals("")){//如果每一个都是空的话 说明符合条件 
                        System.out.print(s.substring(0,i));//打印最小的周期串
                        break;}
                }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值