Swift.第一个只出现一次的字符

cubegao 2016-04-02 PM 440℃ 0条
题目描述:在字符串中找出第一个只出现一次的字符。如输入“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

标签: 算法

非特殊说明,本博所有文章均为博主原创。

评论啦~