Перемешать две строки рекурсивно, чтобы создать другую строку - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь создать метод shuffle (String stri, String str2, String str3), который возвращает логическое значение и берет две строки и «перемешивает» их для создания третьей строки, но я пытаюсь сделать это рекурсивно, что довольно сложно длямне думать о.Я хочу вернуть true, если str1 и str2 можно перемешать, и вернуть false, если их нельзя перемешать.

Например, если str1 = "tv" и str2 = "aol", метод может вернуть taovl.

Я также планирую протестировать метод, а также создать еще один вспомогательный метод, чтобы сделать его более эффективным, но это легко.

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Я решил эту проблему, просто создав три целочисленные переменные, чтобы пройти по индексам всех трех строк, и проверил, соответствует ли буква a в любом индексе тому же порядку s3

0 голосов
/ 03 марта 2019
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 части, а затем переворачивает их, используя рекурсию.

...