小练习-旋转字符

给定两个字符串,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();
    }
}
相关推荐
yaoxin5211232 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫2 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
学逆向的3 小时前
C++纯虚函数
开发语言·c++·网络安全
何极光3 小时前
IDEA集成Maven
java·maven·intellij-idea
程序员二叉3 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉3 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.03 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木3 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
凡人叶枫4 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员4 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言