Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.
Example 1:
Input: s = “leetcode”
Output: 0
Example 2:
Input: s = “loveleetcode”
Output: 2
Example 3:
Input: s = “aabb”
Output: -1
Constraints:
class Solution {
public int firstUniqChar(String s) {
for (int i = 0; i < s.length(); i++) {
if (s.indexOf(s.charAt(i)) == s.lastIndexOf(s.charAt(i))) {
return i;
}
}
return -1;
}
}
class Solution {
public int firstUniqChar(String s) {
int res = -1;
HashMap<Character, Integer> map1 = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
if (map1.get(s.charAt(i)) == null) {
map1.put(s.charAt(i), 1);
} else {
map1.put(s.charAt(i), map1.get(s.charAt(i)) + 1);
}
}
for (int j = 0; j < s.length(); j++) {
if (map1.get(s.charAt(j)) == 1) {
res = j;
break;
}
}
return res;
}
}
class Solution {
public int firstUniqChar(String s) {
int res = -1;
boolean isDouble = false;
for (int i = 0; i < s.length(); i++) {
for (int j = 0; j < s.length(); j++) {
if (i == j) {
continue;
}
if (s.charAt(i) == s.charAt(j)) {
isDouble = true;
break;
}
}
if (isDouble) {
isDouble = false;
} else {
res = i;
break;
}
}
return res;
}
}