这道题好像出自《剑指offer》。我这本书还没有开始看,要找机会看看。
在一个长为字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
数据范围:字符串只有字母组成。
要求:空间复杂度 O(N),时间复杂度 O(N)
举例:
输入 “google”,输出 4
输入 “aa”,输出 -1
这道题的一个前提基础知识就是要知道一些Collection和Map类常用方法的时间复杂度,参考Java集合类常用方法时间复杂度。
还有根据这篇博客,String类的charAt的时间复杂度也是 o ( 1 ) o(1) o(1)。
public class CheckCharAppearOnce {
public static void main(String[] args) {
System.out