How to remove a pair of the same adjacent characters from a string in Swift

1 Answer

0 votes
func removeAdjacentPair(_ s: String) -> String {
    var str = s
    var i = 0
    
    while i < str.count - 1 {
        let index1 = str.index(str.startIndex, offsetBy: i)
        let index2 = str.index(str.startIndex, offsetBy: i + 1)
        
        if str[index1] == str[index2] {
            str.remove(at: index2)
            str.remove(at: index1)
            if i != 0 { i -= 1 }
        } else {
            i += 1
        }
    }
    
    return str
}

var s = "aabcccdeeffffgac"

s = removeAdjacentPair(s)

print(s)




/*
run:

bcdgac

*/

 



answered Nov 26, 2024 by avibootz
...