如图,其中N和i的计数就错了,其他的正确。
图点进去是清晰的,缩略图有点糊
逻辑上有些问题啊,你在遍历字符串的每个字符时,如果字符不在alist中,则加入该字符,然后你统计该字符出现的次数后,又将数字存储到blist。问题是,如果遍历的字符已经出现过,那么alist是不增加字符的,但你依然去计算这个字符的次数并加入到blist中,导致这两个列表中的字符和对应的次数并不是一一对应。比如遍历第一个p字符时,统计数量4加入blist是没问题的,但接着处理第二个p时,alist并不增加新字符,但blist却又增加了一个数量4。
解决办法是根据if判断alist中是否存在字符时,如果是新字符才统计新字符数量并加入blist;如果是已有字符,那么数量也不需要统计的。