Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,895 questions

51,826 answers

573 users

How to create permutations of a string without repetition in Swift

1 Answer

0 votes
import Foundation

func stringPermutations(_ str: String) -> [String] {
    var result = [String]()
    var chars = Array(str)
    
    stringPermutationsCreate(&chars, 0, &result)
    
    return result
}

private func stringPermutationsCreate(_ chars: inout [Character], _ index: Int, _ result: inout [String]) {
    if index == chars.count {
        result.append(String(chars))
        return
    }
    
    for i in index..<chars.count {
        chars.swapAt(index, i)
        stringPermutationsCreate(&chars, index + 1, &result)
        chars.swapAt(index, i) // backtrack
    }
}

let s = "abc"

let permutations = stringPermutations(s)

print(permutations)



/*
run:

["abc", "acb", "bac", "bca", "cba", "cab"]

*/

 



answered Jan 21, 2025 by avibootz
...