[LeetCode9. 回文数] | 刷题打卡

761 阅读1分钟

题目描述

给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

示例一:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]

示例二:

输入:matrix = [[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]

解题思路及代码

1、转换数字
/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
    if(x<0) return false
    x = x.toString()
    let len = x.length
    let halflen = len % 2 == 0 ? len : len - 1
    for(let i = 0;i<halflen;i++){
        if(x[i] !== x[len-i-1]) return false
    }
    return true
};

2、转字符串从两头比较
/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function (x) {
    if (x < 0 || (x % 10 === 0 && x != 0)) return false;
    let revertedNumber = 0;
    while (x > revertedNumber) {
        revertedNumber = Math.floor(revertedNumber * 10 + x % 10);
        x = Math.floor(x/10);
    }
    return x === revertedNumber || x === Math.floor(revertedNumber / 10)
};

本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情