在学习编程语言的过程中相信大部分同学刚开始接触的循环语句都是 for 循环,今天我将介绍一个比较简洁的循环语句,可以帮助我们减少些许的代码量,也更加快捷,那就是范围 for 在我之前的博文中也有所介绍 详情点击:面向对象程序设计(C++)之 String 类
思路解析
本题的核心思路很简单,就是遍历数组判断是否有重复字符,只需要使用两个循环语句即可,讲这道题的目的只是为了浅显的介绍一下范围 for 这个循环语句
class Solution {
public:
bool isUnique(string astr)
{
int flag = 0;
int count[26] = {0};
for(auto ch : astr)
{
count[ch - 'a']++;
}
for(int i = 0;i < astr.size();i++)
{
if(count[astr[i] - 'a'] > 1)
{
flag++;
}
}
if(flag != 0)
{
return false;
}
return true;
}
};
代码分析
本题的核心就是遍历判断是否有重复字符,我们可以使用映射的思想计算每个字符出现的次数,即创建一个数组存储26个字母的出现次数,其下标使用 当前字符 - ' a ' 来计算,这里我们使用了范围 for 这样新的循环语句来遍历,最后再循环判断是否有重复字符即可