Missing Letters

Missing letters 意指 在一個文字訊息或單詞中缺少的字母或訊息(漏字)

  例如傳入字串內容為abcef,則此字串缺少了d這個字母,而需要實作的部分就是缺少的訊息,而如果傳入的訊息如果沒有缺少,則回傳undefined

function fearNotLetter(str) {
  var own = false;
  for(var i=str.charCodeAt(0);i<=str.charCodeAt(str.length - 1);i++)
  {
    if(str.indexOf(String.fromCharCode(i)) == -1)
    {
      own = true;
      str = String.fromCharCode(i);
      break;
    }
  }
  return (!own)? undefined : str;
}

fearNotLetter("abce");

Solution:

這題的解法,我的想法就是先找出頭尾的字元的編碼(charcode),而如果字串是沒有漏字的話,則字元編碼的數字就是連續且不中斷(沒有訊息缺失)的,如果有漏字的話,依序將編碼轉回對應字元時就會在原本的字串中找不到該字元- if condition: str.indexOf(String.fromCharCode(i)) == -1



P.S. / Reference:  charCodeAt() return字元的編碼值(編碼格式: UTF-16)
    fromCharCode() 將數字(值/編碼值)轉成對應字串並return 
String.prototype.charCodeAt()
String.fromCharCode()

results matching ""

    No results matching ""