文字列が返信文であるかどうかを判断する関数を実装します.
5730 ワード
前言:
回文とは同じ文やアルファベットが大文字と小文字を無視してトップ対称になる効果です.例えばabcdeedcbaは回環の効果です.
本文:
2つの方法がある:1、for結合if方法によって、1つの文字列が返信文であるかどうかを検出する、すなわち、先頭の順番に対応するアルファベットが同じかどうかを検出する、すなわち、i=0の場合、str[i]=str[str.length-1];i=1の場合、str[i]=str[str.length-1-1];i=2の場合、str[i]=str[str.length-1-2].法則:後ろのstr.length-1は固定されており、iに対応する値を減算することになる:str[i]==str[str.length-1-i]
コードは次のように実装されます.
2、文字列そのものの特性で判断する
原文参考リンク:https://blog.csdn.net/charles_tian/article/details/79923512
回文とは同じ文やアルファベットが大文字と小文字を無視してトップ対称になる効果です.例えばabcdeedcbaは回環の効果です.
本文:
2つの方法がある:1、for結合if方法によって、1つの文字列が返信文であるかどうかを検出する、すなわち、先頭の順番に対応するアルファベットが同じかどうかを検出する、すなわち、i=0の場合、str[i]=str[str.length-1];i=1の場合、str[i]=str[str.length-1-1];i=2の場合、str[i]=str[str.length-1-2].法則:後ろのstr.length-1は固定されており、iに対応する値を減算することになる:str[i]==str[str.length-1-i]
コードは次のように実装されます.
function isPalindrome(str){
if (typeof str !== 'string' || str.constructor !== String) {
return false;
}
var len = parseInt((str.length+1)/2);
for(var i=0; i<len; i++){
if (str[i] !== str[str.length-i-1]) {
return false;
}
}
return true;
}
console.log(isPalindrome('adddddda'));//true
console.log(isPalindrome('addddda'));//true
console.log(isPalindrome('adddasd'));//fals
2、文字列そのものの特性で判断する
function run(input){
if(typeof input !=='string') return false;
return input.split('').reverse().join('')===input;
}
原文参考リンク:https://blog.csdn.net/charles_tian/article/details/79923512