题目描述:在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出‘b’。
import Foundation
class For35Solution {
func onlyOneFind(_ s: String) -> Character {
var keySorts = [Character]()
var hashMap = [Character : Int]()
let strings = Array(s)
for str in strings {
if hashMap.keys.contains(str) {
hashMap.updateValue(hashMap[str]! + 1, forKey: str)
}else {
keySorts.append(str)
hashMap.updateValue(1, forKey: str)
}
}
for str in keySorts {
if hashMap[str] == 1 {
return str
}
}
return Character("")
}
}
算法思想:用hashmap存,然后按顺序遍历一次,第一个等于1的就是结果。
github地址:https://github.com/cubegao/LeetCode