JSリターンアルゴリズム

1697 ワード

palindrome(回文)とは、文字列が句読点、大文字、空欄を無視し、正読みと逆読みが同じであることを意味します.
与えられた文字列が回文である場合は、trueを返し、逆にfalseを返します.
最初に文字列の余分な句読点とスペースを削除し、文字列を小文字に変換して、この文字列が回文であるかどうかを確認します.
1、   str1 = str.toLowerCase(); 2、    reg = /[\w\_]/g  (/\w/アルファベット以外のすべての文字を削除するために、単語以外の文字にマッチします.gは下線と一致します.)3、       str 2=str 1.replace(reg);4、       str 3=str 2.split("); 
5、逆転配列の要素
     str 4=str 3.reverse()
6、反転した配列が文字列に変換されます.
      str 5=str 4 join(");     7、テスト用例が回文なら、trueに戻ります.逆にfalseを返します.    return str 2==str 5;ルーチン:
function palindrome(str) {
 
  var  str1 = str.toLowerCase();  
  var reg = /[\W\_]/g;                     
  var str2 = str1.replace(reg, "");
  var str3 = str2.split("");  
  var str4 = str3.reverse(); 
  var str5 = str4.join("");  
 
  return str2 === str5;
}
palindrome("eye");
実行結果:palindrome("eye")はブール値を返すべきです.palindrome("eye")はtrueに戻るべきです.palindrome("race car")はtrueに戻るべきです.palindrome("not a palindrome")はfalseを返すべきです.palindrome("A man, a plan, a canal. Panama")はtrueに戻るべきです.palindrome("never odd or even")はtrueに戻るべきです.palindrome("nope")はfalseを返すべきです.palindrome("almostomla")はfalseを返すべきです.palindrome("My age is 0, 0 si ega ym.")はtrueに戻るべきです.palindrome("1 eye for of 1 eye.")はfalseを返すべきです.palindrome("0_0 (: /-\ :) 0-0")はtrueに戻るべきです.