博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode:459. Repeated Substring Pattern
阅读量:7058 次
发布时间:2019-06-28

本文共 1955 字,大约阅读时间需要 6 分钟。

package Today;

//LeetCode:459. Repeated Substring Pattern
/*
Given a non-empty string check if it can be constructed by taking a substring of it
and appending multiple copies of the substring together.
You may assume the given string consists of lowercase English letters only
and its length will not exceed 10000.

Example 1:

Input: "abab"
Output: True
Explanation: It's the substring "ab" twice.

Example 2:

Input: "aba"
Output: False

Example 3:

Input: "abcabcabcabc"
Output: True

Explanation: It's the substring "abc" four times. (And the substring "abcabc" twice.)

*/
public class repeatedSubstringPattern459 {
public static boolean repeatedSubstringPattern(String str) {
int len=str.length();
for(int i=0;i<len/2;i++){
if(len%(i+1)==0){
String subStr=str.substring(0, i+1);
StringBuilder sb=new StringBuilder();
for(int j=0;j<len/(i+1);j++)
sb.append(subStr);
if(sb.toString().equals(str))
return true;
}
}
return false;
}
//study abab-->abababab-->bababa去掉了一头一尾,如果是copy的,就是每一个copy向前移了一下
public static boolean repeatedSubstringPattern2(String str){
String s=str+str;
return s.substring(1,s.length()-1).contains(str);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(repeatedSubstringPattern("abab"));
System.out.println(repeatedSubstringPattern("aba"));
System.out.println(repeatedSubstringPattern("abcabcabcabc"));
System.out.println(repeatedSubstringPattern("abaababaab"));
System.out.println(repeatedSubstringPattern("ababab"));
System.out.println(repeatedSubstringPattern("aaaaaaaaaaaaa"));
System.out.println(repeatedSubstringPattern2("abab"));
System.out.println(repeatedSubstringPattern2("aba"));
System.out.println(repeatedSubstringPattern2("abcabcabcabc"));
System.out.println(repeatedSubstringPattern2("abaababaab"));
System.out.println(repeatedSubstringPattern2("ababab"));
System.out.println(repeatedSubstringPattern2("aaaaaaaaaaaaa"));
}

}

转载于:https://www.cnblogs.com/luluqiao/p/6369648.html

你可能感兴趣的文章
linux操作系统的目录以及用户权权限的管理
查看>>
GAN
查看>>
文件操作
查看>>
吃货联盟项目
查看>>
设计模式建造者
查看>>
基于XMPP实现的Openfire的配置安装+Android客户端的实现[转]
查看>>
android学习博客
查看>>
Linux下脚本实现交互输入
查看>>
Dapper 存储过程、事务等
查看>>
汇编语言-深入机器的内核
查看>>
Eclipse对于多个Java项目的支持并不友好!
查看>>
Pandas Series数据结构基本操作
查看>>
ubuntu桌面环境配置及切换
查看>>
oracle常用查询三
查看>>
码字定式之SQL(6)
查看>>
命名空间“Microsoft”中不存在类型或命名空间名“Reporting”(是否缺少程序集引用?)...
查看>>
【转】Scheme 编程环境的设置
查看>>
异常分类,异常抛出位置
查看>>
需求分析与原型设计
查看>>
敌兵布阵 HDU - 1166 (树状数组模板题,线段树模板题)
查看>>