Java 剑指offer50:第一个只出现一次的字符位置

欢迎关注公众号:

题目描述:

从一个字符中查找只出现一次的字符的位置,这个题目有两种解法.
(1)采用hashmap来遍历字符串,字符做为 key,出现次数作为 value,遍历字符串每次都将 key 对应的 value 加 1。最后再遍历这个 HashMap 就可以找出出现次数为 1 的字符。

也可以采用如下动图的方式,在哈希表中,字符为key,如果有重复的字符,则为true,否则为false,然后遍历哈希表,打印为false的字符即可。

暴力算法,主体思路:
选定一个字母,遍历往后所有的字母,找是否出现相同的字母:
1、将所有相同的字母设置为' ',防止后续重新被遍历到。开始下一个字母;
2、遍历完所有字母都不相同,即为最后的答案;
3、所有字母都不是唯一出现则返回-1。

 从上面的分析中可以看出,解题的本质在于利用哈希表遍历字符串,统计重复的字符,然后打印没有重复的字符。
package JavaOffer;/*
* @project project

Java 剑指offer50:第一个只出现一次的字符位置最先出现在Python成神之路

版权声明:
作者:dingding
链接:https://www.techfm.club/p/10685.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>