判断一个字符串是否为另一个字符串的旋转的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

 

热门文章

优秀文章