++cnt1[s1.charAt(i) - 'a'];其中String s1
s1.charAt(i)返回字符串s1的第i个字符。
假设字符串s1仅包含小写字母(比如从'a'到'z'),s1.charAt(i) - 'a'返回的是字符a的index 0,b index 1,等等(z index25)
++cnt1[s1.charAt(i) - 'a'];//使与字符s1.charAt(i)对应的计数器加1。
因此,这个循环for (int i = 0; i < n; ++i) {++cnt1[s1.charAt(i) - 'a']; }计算字符串s1中每个字母出现的次数。
最后,一个cn1[0]将包含'a'的个数,一个cn1[1]将包含'b'的个数,以此类推。