Question: 
Write a python function to find the minimum number of swaps required to convert one binary string to another.


Model's Code:
def min_Swaps(s1, s2):
    if s1.count('1') != s2.count('1') or s1.count('0') != s2.count('0'):
        return "Not Possible"
    
    # Find indices where the strings differ
    diff_indices = []
    for i in range(len(s1)):
        if s1[i] != s2[i]:
            diff_indices.append(i)

    # Count swaps needed
    count_ones = sum(1 for i in diff_indices if s1[i] == '1')
    count_zeros = sum(1 for i in diff_indices if s1[i] == '0')

    return count_ones if count_ones == count_zeros else "Not Possible"



Sample Correct Code:
def min_Swaps(str1,str2) : 
    count = 0
    for i in range(len(str1)) : 
        if str1[i] != str2[i] : 
            count += 1
    if count % 2 == 0 : 
        return (count // 2) 
    else : 
        return ("Not Possible") 


Asserts:
assert min_Swaps("1101","1110") == 1
assert min_Swaps("1111","0100") == "Not Possible"
assert min_Swaps("1110000","0001101") == 3


Tests:
Test 1 of 3: PASS
Test 2 of 3: PASS
Test 3 of 3: PASS

Test 699 of 974: 527/699 (75.3934191702432%): success