请解释一下这行代码a [s1.charAt(i) - 'a'] ++;

s1.charAt(i)返回s1 i的第th个字符String. 假设此String仅包含小写字母(即'a'到'z'),s1.charAt(i)-'a'将字符'a'映射到索引0,将'b'映射到索引1,依此类推('z'映射到索引25) .

a[s1.charAt(i)-'a']++;

递增与该字符对应的计数器s1.charAt(i).

因此,此循环计算每个字母的出现次数String s1.

最后,a[0]将包含'a' a[1]的数量,'b'的数量等等.

posted @ 2020-12-22 09:22  路要一步一步走  阅读(2473)  评论(1编辑  收藏  举报