第一个只出现一次的字符

第一个只出现一次的字符

http://www.nowcoder.com/questionTerminal/1c82e8cf713b4bbeb2a5b31cf5b0417c

第一次遍历:
建立哈希表,以单个字符Key,以字符出现次数Value
第二次遍历:
搜索出现次数为1的字符,返回位置;若查完都无,则返回-1

图片说明

# -*- coding:utf-8 -*-
class Solution:
    def FirstNotRepeatingChar(self, s):
        res = {}
        for i in range(len(s)):
            if res.get(s[i]) == None:
                res[s[i]] = 1
            else:
                res[s[i]] += 1
        # print(res)
        for i in range(len(res)):
            if res[s[i]] == 1:
                # print(i)
                return i
        return -1
全部评论
class Solution:     def FirstNotRepeatingChar(self, s):         # write code here         if s == '':             return -1                  res = [0]*58         n = len(s)         for i in s:             res[ord(i)-65] += 1         for i in range(n):             if res[ord(s[i])-65] == 1:                 return i
点赞 回复 分享
发布于 2019-08-18 22:04
有问题吧 本地试了这个都失败??? s = 'abdabdabdcabd'
点赞 回复 分享
发布于 2019-09-12 22:41
唉 昨天没看出来。。 修改第二个for 循环两种方法 for j in res: if res[j] == 1: return res[j]    fori in range(len(s)):             if res[s[i]] == 1:                 # print(i)                 return res[s[i]]
点赞 回复 分享
发布于 2019-09-13 09:46
第11行应该是-> for i in range(len(s)):
点赞 回复 分享
发布于 2019-10-17 22:43

相关推荐

有趣的牛油果开挂了:最近这个阶段收到些杂七杂八的短信是真的烦
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务