Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    1247 - Minimum Swaps to Make Strings Equal\.

    Medium

    You are given two strings s1 and s2 of equal length consisting of letters "x" and "y" only. Your task is to make these two strings equal to each other. You can swap any two characters that belong to different strings, which means: swap s1[i] and s2[j].

    Return the minimum number of swaps required to make s1 and s2 equal, or return -1 if it is impossible to do so.

    Example 1:

    Input: s1 = "xx", s2 = "yy"

    Output: 1

    Explanation: Swap s10 and s21, s1 = "yx", s2 = "yx".

    Example 2:

    Input: s1 = "xy", s2 = "yx"

    Output: 2

    Explanation:

    Swap s10 and s20, s1 = "yy", s2 = "xx".

    Swap s10 and s21, s1 = "xy", s2 = "xy".

    Note that you cannot swap s10 and s11 to make s1 equal to "yx", cause we can only swap chars in different strings.

    Example 3:

    Input: s1 = "xx", s2 = "xy"

    Output: -1

    Constraints:

    • 1 <= s1.length, s2.length <= 1000

    • s1, s2 only contain 'x' or 'y'.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Integer minimumSwap(String s1, String s2)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait