在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ Given two strings s and t which consist of only lowercase letters. String t is generated by random shuffling string s and then add one more letter at a random position. Find the letter that was added in t. Example: Input: s = "abcd" t = "abcde" Output: e Explanation: 'e' is the letter that was added. 给定两个字符串 s 和 t,它们只包含小写字母。 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 请找出在 t 中被添加的字母。
示例: 输入: s = "abcd" t = "abcde" 输出: e 解释: 'e' 是那个被添加的字母。 24ms 1 class Solution { 2 func findTheDifference(_ s: String, _ t: String) -> Character { 3 var num_s:UInt32 = getUInt32Value(s) 4 var num_t:UInt32 = getUInt32Value(t) 5 //Int转Character:Character(UnicodeScalar(number)) 6 return Character(UnicodeScalar(num_t - num_s)!) 7 } 8 //获取字符串的所有字符的ASCII整形之和 9 func getUInt32Value(_ str:String) -> UInt32 10 { 11 var num:UInt32 = UInt32() 12 //Character转Int:for asc in String(char).unicodeScalars 13 for asc in str.unicodeScalars 14 { 15 num += asc.value 16 } 17 return num 18 } 19 } 20 //Character扩展代码 21 extension Character 22 { 23 func toInt() -> Int 24 { 25 var num:Int = Int() 26 for scalar in String(self).unicodeScalars 27 { 28 num = Int(scalar.value) 29 } 30 return num 31 } 32 } 76ms 1 class Solution { 2 func findTheDifference(_ s: String, _ t: String) -> Character { 3 var num_s:UInt32 = getUInt32Value(s) 4 var num_t:UInt32 = getUInt32Value(t) 5 //Int转Character:Character(UnicodeScalar(number)) 6 return Character(UnicodeScalar(num_t - num_s)!) 7 } 8 //获取字符串的所有字符的ASCII整型之和 9 func getUInt32Value(_ str:String) -> UInt32 10 { 11 var num:UInt32 = UInt32() 12 //Character转Int:for asc in String(char).unicodeScalars 13 for asc in str.unicodeScalars 14 { 15 num += asc.value 16 } 17 return num 18 } 19 } 20 //Character扩展代码 21 extension Character 22 { 23 func toInt() -> Int 24 { 25 var num:Int = Int() 26 for scalar in String(self).unicodeScalars 27 { 28 num = Int(scalar.value) 29 } 30 return num 31 } 32 } 104ms 1 class Solution { 2 func findTheDifference(_ s: String, _ t: String) -> Character { 3 4 5 var s = s.sorted() 6 var t = t.sorted() 7 for i in 0..<s.count { 8 9 let startIndex = s.index(s.startIndex, offsetBy: i) 10 let endIndex = s.index(s.startIndex, offsetBy: i + 1) 11 let a = String(s[startIndex..<endIndex]) 12 13 14 let startIndexT = t.index(t.startIndex, offsetBy: i) 15 let endIndexT = t.index(t.startIndex, offsetBy: i + 1) 16 let b = String(t[startIndexT..<endIndexT]) 17 18 if a != b { 19 return Character(b) 20 } 21 22 } 23 24 return t.last ?? " " 25 } 26 }
|
请发表评论