'Reorder string characters in Swift

So, let's say I have a String that is: "abc" and I want to change each character position so that I can have "cab" and later "bca". I want the character at index 0 to move to 1, the one on index 1 to move to 2 and the one in index 2 to 0.

What do I have in Swift to do this? Also, let's say instead of letters I had numbers. Is there any easier way to do it with integers?



Solution 1:[1]

In the Swift Algorithms package there is a rotate command

import Algorithms

let string = "abcde"
var stringArray = Array(string)
for _ in 0..<stringArray.count {
    stringArray.rotate(toStartAt: 1)
    print(String(stringArray))
}

Result:

bcdea
cdeab
deabc
eabcd
abcde

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 vadian