First Unique Character in a String

Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

Examples:

s = "leetcode"
return 0.

s = "loveleetcode",
return 2.

Note: You may assume the string contain only lowercase letters.


class Solution {
    public int firstUniqChar(String s) {
        int length = s.length();
        String str;
        for(int i=0;i<length;i++){
            if(i==length-1){
                str = s.substring(0, i);
            }
            else{
                str = s.substring(0,i)+s.substring(i+1);
            }
            if(!str.contains(s.charAt(i)+""))
                return i;
        }
        return -1;
    }
}


Try it on Leetcode

Here, we are going to use substring method.

1) If character is at end, then take substring from 0 till before last character of string.

2) Else make a temporary string, by removing exactly that particular character using index. [e.g.., if character is at 5, then make a temp string using index substring(0,5) and substring(6)]

3) Finally using contains() of string, if particular character is not present then return that index. Else traverse entire string to find any first unique character and if it is not found in string return -1.


Related Posts:

Click here for May month challenges with solution and explanation
Click here for April month challenges with solution and explanation


Please let us know your views in comment section

Subscribe us to receive updates instantly..

Happy Coding..!!

Comments

Popular posts from this blog

Balanced Binary Tree

Majority Element

Smallest Range II