当前位置: 首页 > news >正文

JAVA实现调整字符串

调整字符串
给定两个字符串,A和B。
A的旋转操作就是将A最左边的字符移动到最右边。
例如,若A='abcde',在移动一次之后结果就是'bcdea'.
如果在若干次调整操作之后,A能变成B,那么返回True。
如果不能匹配成功,则返回false

方法一:循环旋转法

public class task1 {public static void main(String[] args) {/*调整字符串给定两个字符串,A和B。A的旋转操作就是将A最左边的字符移动到最右边。例如,若A='abcde',在移动一次之后结果就是'bcdea'.如果在若干次调整操作之后,A能变成B,那么返回True。如果不能匹配成功,则返回false*/String A="abcde";String B="cdeab";Boolean result = tochange(A, B);System.out.println(result);}public static Boolean tochange(String A, String B) {// 首先检查两个字符串长度是否相同,长度不同肯定无法通过旋转匹配if (A.length() != B.length()) {return false;}// 遍历所有可能的旋转次数(最多旋转字符串长度次)for (int i = 0; i < A.length(); i++) {// 旋转操作:将第一个字符移到字符串末尾char first = A.charAt(0);      // 获取字符串的第一个字符String end = A.substring(1);   // 获取从第二个字符开始到末尾的子串A = end + first;               // 将剩余部分与第一个字符拼接,完成一次旋转// 检查旋转后的A是否与B相等if (A.equals(B)) {return true;  // 匹配成功,立即返回true}}// 如果所有可能的旋转都尝试过了仍未匹配,返回falsereturn false;}
}

方法二:字符串拼接法

A = "abcde"
A + A = "abcdeabcde"所有可能的旋转:
原始:   "abcde"    ← 出现在位置0
旋转1次: "bcdea"   ← 出现在位置1  
旋转2次: "cdeab"   ← 出现在位置2
旋转3次: "deabc"   ← 出现在位置3
旋转4次: "eabcd"   ← 出现在位置4
public class task1 {public static void main(String[] args) {/*调整字符串给定两个字符串,A和B。A的旋转操作就是将A最左边的字符移动到最右边。例如,若A='abcde',在移动一次之后结果就是'bcdea'.如果在若干次调整操作之后,A能变成B,那么返回True。如果不能匹配成功,则返回false*/String A="abcde";String B="cdeab";Boolean result = tochange(A, B);System.out.println(result);}public static Boolean tochange(String A, String B) {if (A.length() != B.length()) return false;return (A + A).contains(B);}
}

http://www.dtcms.com/a/479636.html

相关文章:

  • SSM教务信息管理系统3rtdg(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • JAVA同城服务上门家政派单系统源码,安装部署指南、API接口文档、二次开发手册
  • 后缀学习笔记 | -er/-or -ee 系列
  • 小网站asp好还是php好网络科技公司取名字参考大全
  • 【安卓开发】【Android】项目中提示“找不到XXXActivity”解决方法
  • jeesite mybatis添加拦截器,推送指定表的变更数据到其他数据库
  • [MRCTF2020]千层套路1
  • 新网站建设的工作总结怎么在网上免费做公司网站
  • .net商城网站开发开设计公司要怎么规划
  • 在哪里可以做个人网站上海建站shwzzz
  • 项目管理的核心价值是什么?
  • 哪有做机械设计的网站无经验培训 网页设计学员
  • 常州网站建设平台带视频的网站模板
  • DrayTek Vigor路由器mainfunction.cgi接口存在命令执行漏洞
  • 企业内部网站打不开甜点的网站建设规划书
  • 网站loading动画wordpress 做app
  • STM32 DMA直接存储器访问(寄存器与HAL库实现)
  • 百度一下首页网页百度企业seo排名哪家好
  • 辽阳做网站做php网站需要什么软件开发
  • 植物大战僵尸融合版,支持手机+电脑,附修改器!
  • 做网站需要哪些工程师网站添加文章
  • 网站开发与app差距网页制作与设计属于什么专业
  • 网站代理浏览器0网络营销公司全网天下
  • 使用Reindex迁移Elasticsearch集群数据详解(下)
  • 成都百度推广账户优化网站建设关键字优化
  • 设计素材网站版权连云港网站建设sitall
  • 雪花算法生成id
  • 去哪个网站可以接单做ps等等苏州建网站公司
  • wordpress修改侧边栏wordpress优化数据库
  • 成都网站制什么网站容易收录