递归地随机排列两个字符串以创建另一个字符串

时间:2019-03-02 21:28:56

标签: java string recursion static boolean

我正在尝试创建一个方法shuffle (String stri, String str2, String str3),该方法返回一个布尔值并接受两个String,然后对它们进行“ shuffle”以生成第三个String,但是我试图以递归方式进行操作,我很难考虑。如果str1str2可以被改组,我想返回true,如果不能改组,则想返回false。

例如,如果str1 = "tv"str2 = "aol",则该方法可能返回taovl

我还计划测试该方法,并创建另一个助手方法以使其更高效,但这很容易。

2 个答案:

答案 0 :(得分:0)

import java.util.Scanner;
public class lab3{
public static void main(String[] args) {
    String str;
    System.out.print("Enter String: ");
    Scanner sc = new Scanner(System.in);
    str = sc.nextLine();
    String res = revRec3(str);
    System.out.println(res);
}

public static String revRec3(String str)
{
    if (str.length() <= 1)
       return str;
   else{
       String first = str.substring(0, str.length() / 3);
       String second = str.substring(str.length() / 3, ((2 * str.length()) / 3));
       String third = str.substring((2 * str.length()) / 3, str.length());

       return revRec3(third)+revRec3(second)+revRec3(first);
   }
}
}

尝试做这样的事情。该程序将一个字符串拆分为3个部分,然后使用递归将其反转。

答案 1 :(得分:0)

我通过简单地创建三个整数变量来遍历所有三个字符串的索引并检查在任何索引处的字母是否匹配s3的相同顺序来解决了这个问题