小练习-旋转字符

给定两个字符串,A和B

A的旋转操作就是将A最左边的字符移动到最右边

例如abcde移动一次结果就是bcdea

经过若干次调整后,如果A能变成B,那么返回true

不能匹配成功,则返回false

java 复制代码
package example;

public class demo05 {
    public static void main(String[] args) {
        String strA = "abcde";
        String strB = "abdec";

        //旋转字符串
        int i;
        for (i = 0; i < strA.length(); i++) {
            strA = rotateStr(strA);
            if (strA.equals(strB)) {
                System.out.println("匹配成功");
                break;
            }
        }
        if (i == strA.length()) {
            System.out.println("匹配失败");
        }
    }

    public static String rotateStr(String str) {
        StringBuilder newStr = new StringBuilder(str.length());
        for (int i = 1; i < str.length(); i++) {
            newStr.append(str.charAt(i));
        }
        newStr.append(str.charAt(0));
        return newStr.toString();
    }
}
相关推荐
tmacfrank1 分钟前
Java 原生网络编程(BIO | NIO | Reactor 模式)
java·开发语言·网络
python算法(魔法师版)2 分钟前
.NET NativeAOT 指南
java·大数据·linux·jvm·.net
沐土Arvin3 分钟前
深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
开发语言·前端·javascript·设计模式·html
专注VB编程开发20年4 分钟前
VB.NET关于接口实现与简化设计的分析,封装其他类
java·前端·数据库
tyatyatya11 分钟前
MATLAB的神经网络工具箱
开发语言·神经网络·matlab
unityのkiven12 分钟前
C++中析构函数不设为virtual导致内存泄漏示例
开发语言·c++
大数据魔法师27 分钟前
Redis(三) - 使用Java操作Redis详解
java·数据库·redis
天天爱吃肉821836 分钟前
车载以太网驱动智能化:域控架构设计与开发实践
java·运维·网络协议·微服务
IT光38 分钟前
Redis 五种类型基础操作(redis-cli + Spring Data Redis)
java·数据库·redis·spring·缓存
keke1038 分钟前
Java【14_3】接口(Comparable和Comparator)、内部类-示例
java·开发语言·servlet