标签:pre iterator 剑指offer 字符串 ref item cti interview 字符
题目链接:
分析:
用一个hashmap,key记录出现的字符,value记录出现的次数。
第一次遍历记录下所有字符及其出现的次数。
第二次遍历找到第一次只出现一次的字符。
import java.util.HashMap; import java.util.Iterator; public class Solution { public int FirstNotRepeatingChar(String str) { if("".equals(str)){ return -1; } //key记录字母,value记录字母出现的次数 HashMap<Character,Integer> count = new HashMap<>(); char[] arr = str.toCharArray(); for(int i=0;i < arr.length;i++){ if(count.containsKey(arr[i])){ count.put(arr[i],count.get(arr[i])+1); }else{ count.put(arr[i],1); } } //找到第一个只出现一次的字符即返回 for(int i=0;i < arr.length;i++){ if(count.get(arr[i]) == 1){ return i; } } return 0; } }
标签:pre iterator 剑指offer 字符串 ref item cti interview 字符
原文地址:https://www.cnblogs.com/MoonBeautiful/p/13067363.html