first-unique-character-in-a-string

https://leetcode.com/problems/first-unique-character-in-a-string/

public class Solution {
    public int firstUniqChar(String s) {
        int[] index = new int[26];
        for (int i=0; i<s.length(); i++) {
            int ch = s.charAt(i) - 'a';
            if (index[ch] == 0) {
                index[ch] = i + 1;
            }
            else if (index[ch] > 0) {
                index[ch] = -1;
            }
        }
        int ret = s.length() + 1;
        for (int i=0; i<26; i++) {
            if (index[i] > 0 && index[i] < ret) {
                ret = index[i];
            }
        }
        if (ret == s.length() + 1) {
            return -1;
        }
        else {
            return ret - 1;
        }
    }
}

 

posted @ 2016-08-29 11:59  blcblc  阅读(243)  评论(0编辑  收藏  举报