给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode" 返回 0. s = "loveleetcode", 返回 2.
class Solution:
def firstUniqChar(self, s: str) -> int:
ch = [0]*26
if len(s)==0:
return -1
for i in range(len(s)):
ch[ord(s[i])-ord('a')] += 1
for i in range(len(s)):
if ch[ord(s[i])-ord('a')] == 1:
return i
return -1
class Solution {
public:
int firstUniqChar(string s) {
if(s.size()==0) return -1;
int ch[26]={0};
for(int i=0;i<s.size();i++) ch[int(s[i])-int('a')]++;
for(int i = 0;i<s.size();i++)
if(ch[int(s[i])-int('a')]==1) return i;
return -1;
}
};
问题&思路
- python中的字符转数字函数:ord;python中的list初始化
- 先统计每个字符出现次数,第二次遍历s,找到第一个ch中为1的字符
博客围绕给定字符串,要找出其第一个不重复字符的索引,若不存在则返回 -1。介绍了解决该问题的思路,还提及python中的字符转数字函数 ord 以及 list 初始化,通过先统计字符出现次数,再遍历找到首个出现次数为 1 的字符。
1886

被折叠的 条评论
为什么被折叠?



