判断一个字符串是否为另一个字符串的旋转的Java程序
1 说明
在此程序中,我们需要检查一个字符串是否是另一个字符串的旋转。
String 1: abcde
String 2: deabc
String 1 + String 1: abcdeabcde
考虑上面的示例,假设我们需要检查字符串2是否为字符串1的旋转。要找到此字符串,我们将字符串1与字符串1连接起来。然后,尝试在串联的字符串中找到字符串2。如果串联字符串中存在字符串2,则字符串2是字符串1的旋转。在串联字符串的索引3上找到字符串2 deabc。因此,deabc是abcde的旋转。
2 算法思路
- 步骤1:开始
- 步骤2: DEFINE字符串str1 =“ abcde”,str2 =“ deabc”
- 步骤3:如果str1的长度不等于str2,则打印“No”,
否则转到步骤4 - 步骤4:用str1连接str1。
- 步骤5:如果str1中存在str2,则打印“Yes”,否则打印“No”。
- 步骤6:结束
3 程序实现
/**
* 一点教程网: http://www.yiidian.com
*/
public class StringRotation
{
public static void main(String[] args) {
String str1 = "abcde", str2 = "deabc";
if(str1.length() != str2.length()){
System.out.println("Second string is not a rotation of first string");
}
else {
//Concatenate str1 with str1 and store it in str1
str1 = str1.concat(str1);
//Check whether str2 is present in str1
if(str1.indexOf(str2) != -1)
System.out.println("Second string is a rotation of first string");
else
System.out.println("Second string is not a rotation of first string");
}
}
}
以上代码输出结果为:
Second string is a rotation of first string
热门文章
优秀文章