Last active
June 23, 2016 18:40
-
-
Save tikipatel/b1b24a2b76bfda7aa1adba26dabe93f1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
extension String { | |
///Get array of individual strings | |
func array() -> [String] { | |
return self.characters.map({ (char) -> String in | |
return String(char).lowercaseString | |
}) | |
} | |
///Get `NSCountedSet` from string | |
func countedSet() -> NSCountedSet { | |
return NSCountedSet(array: self.array()) | |
} | |
func isAnagram(string: String) -> Bool { | |
guard string.characters.count == self.characters.count else { | |
return false | |
} | |
return self.countedSet().isEqual(string.countedSet()) | |
} | |
} | |
func isAnagram(string1: String, string2: String) -> Bool { | |
func countedSet(string: String) -> NSCountedSet { | |
let array = string.characters.map { (character) -> String in | |
return String(character) | |
} | |
return NSCountedSet(array: array) | |
} | |
return countedSet(string1).isEqual(countedSet(string2)) | |
} | |
print(isAnagram("abcd", string2: "dbca")) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment