【面试题】求一个字符串每个字符的出现次数
2018-03-22 15:08
369 查看
问题描述:给定一个字符串,统计每个字符出现的次数。如:s = “ababcAdb”。
方法一:每次拿字符串s的第一个字符,把字符串中所有的该字符全部替换成空之后,得到一个新的且长度变短的字符串,再用原来的字符串长度减去现在的字符串长度,即可得到该字符的出现次数。代码如下:
方法二:采用HashMap,key唯一性来实现。代码如下:
方法一:每次拿字符串s的第一个字符,把字符串中所有的该字符全部替换成空之后,得到一个新的且长度变短的字符串,再用原来的字符串长度减去现在的字符串长度,即可得到该字符的出现次数。代码如下:
public void countString(String s) { int length = 0; while(s.length() > 0) { //把第一个字符变成字符串rs String rs = String.valueOf(s.charAt(0)); //将字符串中的rs字符全部替换为空,原来的字符串长度将变短 String newStr = s.replaceAll(rs, ""); //将原来字符串长度减去新的字符串长度,即得到该字符的个数 length = s.length() - newStr.length(); //将新字符串赋值给s,执行下一次循环 s = newStr; System.out.println(rs + ": " + length); } }
方法二:采用HashMap,key唯一性来实现。代码如下:
public void countStringByMap(String s) { Map<Character, Integer> map = new HashMap<>(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (map.containsKey(c)) { //如果已存在,则+1 map.put(c, map.get(c) + 1); } else { //如果不存在,则赋值为1 map.put(c, 1); } } System.out.println(map); }
相关文章推荐
- 【面试题】求一个字符串每个字符的出现次数
- 统计一个字符串中每个字符出现的次数
- 一道迅雷面试题:求出一个字符串中每个字母出现的次数
- php面试题:如何知道一个未知长度的字符串哪个字符出现的次数最多?(字符串可由字母,数字及其他字符组成)请写出代码。
- Java给定一个字符串数组,判断每个字符出现次数
- java中怎么统计一个字符串中每个字符的出现次数
- 求一个字符串中每个字符出现的次数
- 编程题--给定一个字符串数组,判断每个字符出现次数
- 小方法1——CountChar--统计一个字符串中每个字符出现的次数
- 统计一个字符串中每个字符出现的次数
- 计算一个字符串中每个字符出现的次数
- 输入一个字符串 打印出每个字符出现的次数
- 一道迅雷面试题:求出一个字符串中每个字母出现的次数
- 一道迅雷面试题:求出一个字符串中每个字母出现的次数
- 线性时间内统计一个字符串中每个字符出现的次数
- 在控制台输入一个字符串 判断每个字符出现的次数
- 统计一个字符串中每个字符出现的次数,并按自然顺序输出
- 用es6的Array.reduce()方法计算一个字符串中每个字符出现的次数
- Python—求一个字符串中每个字符出现的次数
- 手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。