在这里没有用到NSMutableArray数组,这是为了方便初学者。
以下是详细的代码:
NSString *string0 = @"别看双鱼一脸天真烂漫的就以为他们真的好骗,人家精着呢!有些人是真傻,而双鱼是装傻,玩的这叫大隐隐于市!双鱼把很多东西早就看透彻了,不愿意沾染一些乱七八糟的事。心中有座柏拉图,甘愿守着份干净纯洁的少男少女心,幻想到天荒地老。";
NSInteger sum = 0;
NSString *stringCount;
NSString *stringPoint = [string0 stringByReplacingOccurrencesOfString:@"," withString:@""];
for (int i = 0; i < [stringPoint length]; i++) {
NSString *str = [stringPoint substringWithRange:NSMakeRange(0, 1)]; //range.laction = 0 取得字符串的首位字符,因为stringPoint是在减少的,只有当range.laction = 0 时才不会超出范围。
NSString *string1 = [stringPoint stringByReplacingOccurrencesOfString:str withString:@""]; //去除所有的 str字符 元素。
NSInteger count = [stringPoint length] - [string1 length];//求元素重复出现的次数
if (count >= sum) {
if(count >sum) {
sum = count;
stringCount = str;
}else{
sum =count;
}
}
stringPoint = string1; //stringPoint的元素在减少,重复的元素已经被排除。在进for循环时不在重复求已经出现的重复的元素。
i = -1; //由于【stringPoint length】在减少到0,这里控制for结束的关键成了【stringPoint length】。
if(count > 1)NSLog(@"出现次数最为:%ld,字符为:%@(%ld)",count,str,sumcount++);
}
NSLog(@"出现次数最多为:%ld,字符为:%@",sum,stringCount);