一、问题描述
实现一个算法,确定一个字符串 s
的所有字符是否全都不同。
题目链接:判断字符是否唯一
二、题目要求
样例 1
输入: s="leetcode"输出: false
样例 2
输入: s="abc"输出: true
考察
字符串应用,位运算中等题型 建议用时15~35min
三、问题分析
本题是位运算的第5题,没了解过位运算相关知识点可以看这一篇文章,讲解比较详细:
1.字符串
一开始,我看这一题属实没想到字符如何与位运算的相关知识点结合起来。
要判断是否唯一,只要进行下述两步操作:
字符串中单个字母存入k 字符串寻找是否包含除了当前位置的k
2.位运算
就像这道题后面的题解一样,位运算对于这一题来说,显得不是很有优势。代码也显得难懂,所以位运算的代码我就不写了,躺平了。
四、编码实现
classSolution { public: boolisUnique(stringastr) { stringk;//中间变量kinti,n=astr.size();//初始化定义for(i=0;i<n;i++)//for循环 { k=astr[i];//赋值if(astr.find(k)==astr.rfind(k))//判断还有没有重复的元素 { returnfalse;//返回 错误 } } returntrue;//返回 正确 } };