题目描述
给你一个二维整数数组 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 春招闯关活动」, 点击查看 活动详情