LeetCode之First Unique Character in a String

1、题目

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.

2、代码实现

public class Solution {
    public int firstUniqChar(String s) {
if (s == null || s.length() == 0) {
return -1;
}
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < s.length(); i++) {
Integer in = map.get(s.charAt(i));
if (in == null)
map.put(s.charAt(i), 1);
else
map.put(s.charAt(i), 2);
}
for (int i = 0; i < s.length(); i++) {
if(map.get(s.charAt(i)) == 2) {
continue;
} else {
if (map.get(s.charAt(i)) == 1) {
return i;
}
}
}
return -1;
}
}

 

3、总结

一般看到求数组里面唯一元素,和字符串里面唯一元素,我们可以通过HashMap来解决,每个字符或者元素作为key,然后出现一次设置一个value1,出现2次以上设置一个统一的value2,最后通过遍历得到value1,来解决问题
 
(0)

相关推荐

  • ​LeetCode刷题实战38: 外观数列

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • 华为OD两轮技术面试

    华为OD面试 1性格测试 选积极向上的选项,注意,性格测试也会挂人,我一个朋友性格测试就没过. 2机试 一道变成题目 1h 用例60%通过即可 任给一个数组,元素有20M,1T,300G之类的,其中1 ...

  • LeetCode之Reverse String

    LeetCode之Reverse String

  • LeetCode之Reverse String II

    LeetCode之Reverse String II

  • switch 是如何支持 String 的?为什么不支持 long?

    作者: Jitwxs 链接: https://jitwxs.cn/6f3eddff.html 我们知道 Java Switch 支持byte.short.int 类型,在 JDK 1.5 时,支持了枚 ...

  • ​LeetCode刷题实战260:只出现一次的数字 III

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • ​LeetCode刷题实战258:各位相加

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • ​LeetCode刷题实战257:二叉树的所有路径

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • ​LeetCode刷题实战256:粉刷房子

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • ​LeetCode刷题实战262:行程和用户

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • leetcode刷题笔记-234. 回文链表(java实现)

    题目描述 请判断一个链表是否为回文链表. 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 来源:力扣(LeetCo ...