দুটি স্ট্রিং 'a' এবং 'b' দেওয়া থাকলে, 'a' কে ঠিক ২ প্লেস ঘুরিয়ে (বাম বা ডানদিকে) 'b' তৈরি করা যায় কিনা তা যাচাই করতে হবে।
ইনপুট-১: a = "google", b = "legoog" → আউটপুট: True (বামদিকে ২ প্লেস ঘুরালে "legoog" হয়)।
ইনপুট-২: a = "tuorialst", b = "tutorials" → আউটপুট: False
সমাধানের পদ্ধতি
- দুটি স্ট্রিংর দৈর্ঘ্য ভিন্ন হলে false রিটার্ন করুন।
- দৈর্ঘ্য ২ বা তার কম হলে true রিটার্ন করুন।
- বামদিকে ঘুরানোর জন্য:
b.substring(len-2) + b.substring(0, len-2) - ডানদিকে ঘুরানোর জন্য:
b.substring(2) + b.substring(0, 2) - এই দুটি রোটেটেড স্ট্রিংয়ের যেকোনোটি 'a' এর সাথে মিললে true, নাহলে false।
জাভা কোড উদাহরণ
public class Solution {
static boolean isRotated(String str1, String str2) {
if (str1.length() != str2.length()) return false;
if (str1.length() <= 2) return str1.equals(str2);
String anticlockwise = str2.substring(str2.length() - 2) + str2.substring(0, str2.length() - 2);
String clockwise = str2.substring(2) + str2.substring(0, 2);
return str1.equals(anticlockwise) || str1.equals(clockwise);
}
public static void main(String[] args) {
String s1 = "google";
String s2 = "legoog";
System.out.println(isRotated(s1, s2) ? "True" : "False"); // True
}
}
আউটপুট
True