题目描述:
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
示例1:
输入:s = "leetcode"
输出:false
示例2:
输入:s = "abc"
输出:true
解决方案:
解法一:暴力法
var isUnique = function(astr) {
let strArr = astr.split('');
for(let i = 0; i < strArr.length; i++) {
for(let j = i+1; j < strArr.length-1; j++) {
if(strArr[i] === strArr[j]) {
return false;
}
}
}
return true;
}
解法二:空数组法
var isUnique = function(astr) {
let result = [];
let strArr = astr.split('');
for(let i = 0; i < strArr.length; i++) {
if(result.indexOf(strArr[i]) === -1) {
result.push(strArr[i])
} else {
return false;
}
}
return true;
}
解法三:哈希表法
var isUnique = function(astr) {
let set = new Set();
let strArr = astr.split('');
for(let i = 0; i < strArr.length; i++) {
set.add(strArr[i])
}
if(set.size === sstrArr.length) {
return true;
} else {
return false;
}
}
解法四:排序法
var isUnique = function(astr) {
let strArr = astr.split('').sort();
for(let i = 0; i < strArr.length-1; i++) {
if(strArr[i] === strArr[i+1]) {
return false;
}
}
return true;
}