1.解题思路:
利用string的IndexOf()和lastIndexOf()方法,如果字符串中一个字符只出现一次,那么Indexof()和lastIndexOf()肯定指向同一下标。
答案如下:
public class demo { public static void main(String[] args) { String str = "qwerttrewdf"; char[] chars = str.toCharArray(); for(int i = 0 ; i < chars.length; i++){ char ch = chars[i]; if(str.indexOf(ch) == str.lastIndexOf(ch)){ System.out.println(ch); break; } } } }
2.解题思路:
利用hashmap来将字符和字符出现的次数存成k,v的形式,,再遍历hashmap通过判断将所需要的数据输出来。
答案如下:
public static void main(String[] args) { String str = "qwerttrewdf"; HashMap<Character,Integer> map = new HashMap<>(); char [] chars = str.toCharArray(); for(int i = 0; i < chars.length; i++){ char ch = chars[i]; map.compute(ch,(k,v) -> (v == null) ? 1 : ++v); } map.forEach((k,v) ->{ if(v == 1){ System.out.println(k); } }); }