LeetCode之程序員面試金典(持續更新~)

問題解答整理,侵刪~

01.01、判斷字符是否唯一

  1. 實現一個算法,確定一個字符串 s 的所有字符是否全都不同。
  2. 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;
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章