empty? This is a good question to ask during an interview. For the purpose of this problem, we define empty string as valid palindrome. • ༗ߟྀաۭࣈ۲తگ䆩ʁṜੋ໘ࢼ࣌తɻࡏ Ṝཫզ၇ఆٛଞੋճจɻ
let lowerString = s.lowercaseString var chars:[Character] = [] for c in lowerString.characters { if (c >= Character("a") && c <= Character("z")) || (c >= Character("0") && c <= Character("9")) { chars.append(c) } } } } let s = Solution() s.isPalindrome("A man, a plan, a canal: Panama")
let lowerString = s.lowercaseString var chars:[Character] = [] for c in lowerString.characters { if (c >= Character("a") && c <= Character("z")) || (c >= Character("0") && c <= Character("9")) { chars.append(c) } } for idx in 0..<chars.count { if chars[idx] != chars[chars.count-idx-1] { return false } } return true } } let s = Solution() s.isPalindrome("A man, a plan, a canal: Panama")
try? NSRegularExpression(pattern: "[^a-z0-9]", options: NSRegularExpressionOptions.CaseInsensitive) let range = NSMakeRange(0, s.characters.count) let alphanums = reg!.stringByReplacingMatchesInString(s, options: NSMatchingOptions(rawValue:0), range: range, withTemplate: "").lowercaseString let rev = alphanums.characters.reverse() for (a,b) in zip(alphanums.characters, rev) { if a != b { return false} } return true }