Quick actions

cmd+k|ctrl+k

Navigation

Languages

Reverse only letters - sol2

Snippet info

Language

Python

Visibility

public

Author

arthurpc02

Created

2024-10-02T23:15:44.744625Z

Updated

2024-10-02T23:20:02.232198Z

def reverse_only_letters(str_input):
    """ Use two pointers logic to compare the letters and replace them """
    
    output = list(str_input)
    
    left = 0
    right = len(output)-1
    
    while(left < right):
        if not output[left].isalpha():
            left+=1
        elif not output[right].isalpha():
            right-=1
        else:
            output[left], output[right] = output[right], output[left]
            left+=1
            right-=1
    
            
    return "".join(output)
    

print("Hello World!")
sample1 = "ab-cd"
sample2 = "a-bC-dEf-ghIj"
sample3 = "Test1ng-Leet=code-Q"

result1 = reverse_only_letters(sample1)
print(f"result1: {result1}")
assert(result1 == "dc-ba")

result2 = reverse_only_letters(sample2)
print(f"result2: {result2}")
assert(result2 == "j-Ih-gfE-dCba")

result3 = reverse_only_letters(sample3)
print(f"result3: {result3}")
assert(result3 == "Qedo1ct-eeLg=ntse-T")

print("Good-bye World")
INFO