编程之美 3.1-字符串循环移位包含
Posted hequnwang10
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程之美 3.1-字符串循环移位包含相关的知识,希望对你有一定的参考价值。
一、题目描述
s1 = AABCD, s2 = CDAA
Return : true
给定两个字符串 s1 和 s2,要求判定 s2 是否能够被 s1 做循环移位得到的字符串包含。
二、解题
匹配
将s1复制在s1末尾,这个可以使用虚拟指针,取模即可,然后对
public boolean move(String str1, String str2)
if (str1 == null || str2 == null || str1.length() == 0 || str2.length() == 0)
return false;
int p1 = 0;
int str1Len = str1.length();
int str2Len = str2.length();
for (; p1 < 2 * str1Len; p1++)
char ch = str1.charAt(p1 % str1Len);
if (str2.charAt(0) == ch)
for (int j = 0; j <= str2Len; j++)
if (j == str2Len)
return true;
else if (str1.charAt((p1 + j) % str1Len) != str2.charAt(j))
break;
return false;
以上是关于编程之美 3.1-字符串循环移位包含的主要内容,如果未能解决你的问题,请参考以下文章