首页 > 其他 > 详细

LeetCode之387. First Unique Character in a String

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

技术分享

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

 

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

 

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!