js 回文

176 阅读1分钟

判断1213121、122121是否是回文?

法一:使用reverse,注意reverse改变了原来的数组。

var num = 1213121;
var num2 = 122121;
function huiwen(num){
    var str = num.toString().split('');
    //必须记录元素组,而且不能用temp = num;因为str为引用类型的数据,str的改变会引起temp的变化。
    var temp = num.toString().split('');
    str.reverse();
    for(var i = 0; i < str.length;i++){
        if(str[i] !== temp[i]){
            return false;
        }
    }
    return true;
}
console.log(huiwen(num));
console.log(huiwen(num2));

法二:根据回文的特性--对称性

var num = 1213121;
var num2 = 122121;
function huiwen(num){
   var str = num.toString().split('');
   var mid = str.length/2;
   for(var i = 0; i < mid; i++){
        if(str[i] !== str[str.length-1-i]){
            return false;
        }
   }
   return true;
}
console.log(huiwen(num));
console.log(huiwen(num2));