【LeetCode】7. 整数反转

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

  输入: 121
  输出: true
示例 2:

  输入: -121
  输出: false
  解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:

  输入: 10
  输出: false
  解释: 从右向左读, 为 01 。因此它不是一个回文数。

方法一:简单粗暴法

解题思路:把 x 转为 字符串。然后循环字符串一半的长度比较 索引为 len -1-i 的字符,若都一样则为回文。

/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
    let strx = `${x}`;
    let len = strx.length;
    if( len === 1) {
        return true;
    }

    for(let i = 0;i < len/2; i++) {
        if(strx.charAt(i) !== strx.charAt(len -1 -i)) {
            return false;
        }
    }
    return true;
};

解法二: 巧妙解法

解题思路:把 x 转为 字符串 strx 再转为数组,然后把数组反转,然后把数组拼接为一个字符串 reversex ,比较 strx  和  reversex ,若一样则为回文,否则不是

/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
    let strx = `${x}`;
    let reversex = strx.split('').reverse().join('');
    return reversex === strx? true: false;
};

 

posted @ 2019-10-31 17:30  吃素的小飞猪  阅读(153)  评论(0编辑  收藏  举报