首页 > 代码库 > LeetCode之387. First Unique Character in a String
LeetCode之387. First Unique Character in a String
--------------------------------------------------
最开始的想法是统计每个字符的出现次数和位置,如下:
AC代码:
public class Solution { public int firstUniqChar(String s) { Count c[]=new Count[26]; for(int i=0;i<s.length();i++){ int index=s.charAt(i)-‘a‘; if(c[index]==null) c[index]=new Count(i); c[index].count++; } int min=s.length(); for(int i=0;i<c.length;i++){ if(c[i]!=null && c[i].count==1 && c[i].firstIndex<min) min=c[i].firstIndex; } return min==s.length()?-1:min; } private class Count{ int count; int firstIndex; public Count(int firstIndex){ this.firstIndex=firstIndex; } } }
但是这样子代码略显拖沓,干脆只记录字符的出现次数,然后再从头扫描如果出现次数为1就表明这是要找的位置了,代码如下:
AC代码:
public class Solution { public int firstUniqChar(String s) { int c[]=new int[26]; for(int i=0;i<s.length();i++) c[s.charAt(i)-‘a‘]++; for(int i=0;i<s.length();i++) if(c[s.charAt(i)-‘a‘]==1) return i; return -1; } }
题目来源: https://leetcode.com/problems/first-unique-character-in-a-string/
LeetCode之387. First Unique Character in a String
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。