回环变位算法

回环变位

还是不熟悉String类啊,当初想的方法是算字符的规律啊什么的,看到提示的话说一句判断语句就行了还是一脸蒙蔽。下面是答案:

1. 官方答案:

不得不说他这个方法的巧妙啊.....假如str1=null str2=ulln,那么str1.concat(str1)就是nullnull,那么如果是回环变位,那么str2就必定是nullnull的其中一部分。

public static boolean bl2(String str1,String str2){
        return str1.length()==str2.length()&&(str1.concat(str1).indexOf(str2)>=0);
    }

2. 看了下网上的一些答案:

substring(int i,int j)方法 是从i到j-1的字符段

public static boolean bl(String str1,String str2) {
        if (str1.length() != str2.length()) {
            return false;
        } else {
            for (int i = 0; i < str1.length(); i++) {
                String left = str1.substring(0, i);
                String right = str1.substring(i, str1.length());
                if ((right + left).equals(str2)) {
                    return true;
                }
            }
            return false;
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值