LintCode python 小白-简单题-646 First Position Unique Character

来源:互联网 发布:java 怎么调用sleep 编辑:程序博客网 时间:2024/06/10 11:04

题目:Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.
样例
Given s = “lintcode”, return 0.
Given s = “lovelintcode”, return 2.

思路:

  • 建立一个字典去统计字符串中所有元素出现的频率,(元素为键,频率为值)
  • 然后在字典中按字符串的顺序去查找到第一个频率为1的,返回的是字符串的那个下标位置。

代码:

class Solution:    # @param {string} s a string    # @return {int} it's index   def firstUniqChar(self, s):        # Write your code here        a={} #定义一个字典        for i in range(len(s)):                a[s[i]]=0   #一开始每个元素频率皆初始化为0        for i in range(len(s)):                a[s[i]]+=1          for i in range(len(s)):                if a[s[i]]==1: #满足要求的出现的第一个不重复元素                    return i        return -1  #不满足的情况皆返回-1
原创粉丝点击