そして、認証アルゴリズムleetcode 125遠位回文配列

#アルゴリズム検証leetcode 125回文配列のフロントエンド

タイトル説明

文字列を考えると、それは回文文字列であることを確認し、唯一のアルファベットと数字を検討し、大文字小文字を無視することができます。

説明:この問題では、我々は有効な回文配列として空の文字列を定義します。

例1:

输入: "A man, a plan, a canal: Panama"
输出: true

例2:

输入: "race a car"
输出: false

125は、パリンドローム配列を確認してください

概要

タイトルだけで、アルファベットと数字を考えると言及した文字の大文字と小文字を無視することに注意してください

プロンプト

ダブルポインタ

解決

溶液A:APIの男

あなたはもっとゆっくり狂気のAPIを呼び出すことによって、問題を解決することができますが、

対処方法2:ダブルポインタ

タイトルケースが最初に元の文字列は、すべて小文字は定期的に置き換えられることができます無視して、考えられ英数字と述べ
、さらにリターンの偽一度ヘッドとテールポインタ2が整列、矛盾を提供します

アルゴリズム

/**
 * @param {string} s
 * @return {boolean}
 */
var isPalindrome = function (s) {
  // s = s.match(/\w/g);
  // if (s === null || s.length <= 1) {return true;}
  // return s.join('').toLowerCase() === s.reverse().join('')
  //   .toLowerCase();
  // 双指针法
  s = s.replace(/[^0-9a-zA-Z]/g, '').toLowerCase();
  let [i, j] = [0, s.length - 1];
  while (i <= j) {
    if (s.charAt(i++) !== s.charAt(j--)) {return false;}
  }
  return true;
};

テストケースの着信業績

input:"A man, a plan, a canal: Panama"
output:true

結果

执行用时 :64 ms, 在所有 javascript 提交中击败了99.91%的用户
内存消耗 :37.3 MB, 在所有 javascript 提交中击败了72.83%的用户

GitHubのリポジトリ

125は、パリンドローム配列を確認してください

もっと見ます

その他の説明

おすすめ

転載: www.cnblogs.com/moshuying/p/11903472.html