程序員面試金典
問題解答整理,侵刪~
01.01、判斷字符是否唯一
- 實現一個算法,確定一個字符串 s 的所有字符是否全都不同。
- 0 <= len(s) <= 100,如果你不使用額外的數據結構,會很加分。
/*
* 解法一:set屬性。
* @param {string} astr
* @return {boolean}
*/
var isUnique1 = function(astr) {
return new Set(astr).size === astr.length
};
/*
* 解法二:數組的indexOf
* @param {string} astr
* @return {boolean}
*/
var isUnique2 = function (astr) {
let arr = [];
for (let i = 0; i < astr.length; i++) {
if (~arr.indexOf(astr[i])) {
return false
}
arr.push(astr[i])
}
return true;
};
/*
* 解法三:對象的hasOwnProperty
* @param {string} astr
* @return {boolean}
*/
var isUnique3 = function (astr) {
let obj = [];
for (let i = 0; i < astr.length; i++) {
if (obj.hasOwnProperty(astr[i])) {
return false
}
obj[astr[i]]=1
}
return true;
};