First Unique Character in a String
2016-09-13 18:20
169 查看
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
Note: You may assume the string contain only lowercase letters.
public class Solution {
public int switchNumber(char letter) {
switch (letter) {
case 'a':
return 0;
case 'b':
return 1;
case 'c':
return 2;
case 'd':
return 3;
case 'e':
return 4;
case 'f':
return 5;
case 'g':
return 6;
case 'h':
return 7;
case 'i':
return 8;
case 'j':
return 9;
case 'k':
return 10;
case 'l':
return 11;
case 'm':
return 12;
case 'n':
return 13;
case 'o':
return 14;
case 'p':
return 15;
case 'q':
return 16;
case 'r':
return 17;
case 's':
return 18;
case 't':
return 19;
case 'u':
return 20;
case 'v':
return 21;
case 'w':
return 22;
case 'x':
return 23;
case 'y':
return 24;
case 'z':
return 25;
default:
return 26;
}
}
public int firstUniqChar(String s) {
char str[] = s.toCharArray();
int num[] = new int[26];
for (int i = 0; i < s.length(); i++) {
num[switchNumber(s.charAt(i))] += 1;
}
for(int j=0;j<s.length();j++){
if(num[switchNumber(s.charAt(j))]==1){
return j;
}
}
return -1;
}
}
Examples:
s = "leetcode" return 0. s = "loveleetcode", return 2.
Note: You may assume the string contain only lowercase letters.
public class Solution {
public int switchNumber(char letter) {
switch (letter) {
case 'a':
return 0;
case 'b':
return 1;
case 'c':
return 2;
case 'd':
return 3;
case 'e':
return 4;
case 'f':
return 5;
case 'g':
return 6;
case 'h':
return 7;
case 'i':
return 8;
case 'j':
return 9;
case 'k':
return 10;
case 'l':
return 11;
case 'm':
return 12;
case 'n':
return 13;
case 'o':
return 14;
case 'p':
return 15;
case 'q':
return 16;
case 'r':
return 17;
case 's':
return 18;
case 't':
return 19;
case 'u':
return 20;
case 'v':
return 21;
case 'w':
return 22;
case 'x':
return 23;
case 'y':
return 24;
case 'z':
return 25;
default:
return 26;
}
}
public int firstUniqChar(String s) {
char str[] = s.toCharArray();
int num[] = new int[26];
for (int i = 0; i < s.length(); i++) {
num[switchNumber(s.charAt(i))] += 1;
}
for(int j=0;j<s.length();j++){
if(num[switchNumber(s.charAt(j))]==1){
return j;
}
}
return -1;
}
}
相关文章推荐
- first unique character in a string
- 【LeetCode】387 First Unique Character in a String(java实现)
- 384.[LeetCode]First Unique Character in a String
- LeetCode 387 First Unique Character in a String
- leetcode_387 First Unique Character in a String
- LeetCode 387 First Unique Character in a String
- HashTable-387-First Unique Character in a String
- [Leetcode]First Unique Character in a String
- LeetCode:First Unique Character in a String
- LeetCode-First Unique Character in a String
- leetcode[First Unique Character in a String]//待整理多种解法
- First Unique Character in a String
- 【LeetCode】387 First Unique Character in a String(java实现)
- LeetCode No.387 First Unique Character in a String
- First Unique Character in a String
- leetcode-387-First Unique Character in a String
- First Unique Character in a String(字符串中的第一个唯一字符)
- Leetcode: First Unique Character in a String
- LeetCode 387 First Unique Character in a String
- [LeetCode] First Unique Character in a String(Java)