码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode之387. First Unique Character in a String

时间:2016-10-26 00:27:18      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:ems   index   ret   height   img   技术分享   ring   str   new   

技术分享

--------------------------------------------------

 

最开始的想法是统计每个字符的出现次数和位置,如下:

 

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

标签:ems   index   ret   height   img   技术分享   ring   str   new   

原文地址:http://www.cnblogs.com/cc11001100/p/5998660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!