leetcode(js) 168. Excel表列名称

  1. Excel表列名称
    给定一个正整数,返回它在 Excel 表中相对应的列名称。

例如,

1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB 
...

示例 1:

输入: 1
输出: “A”
示例 2:

输入: 28
输出: “AB”
示例 3:

输入: 701
输出: “ZY”
通过次数27,983提交次数73,869

解题思路:按照二进制的转换思想转换这里的26进制,但是由于这里是从1开始的,而不是从0开始的,所以需要每次转换都-1才能对应上26进制。
学习了:js中吧数字转换成对应的字符用到String.fromCharCode(65)方法,把数字当成ASC码,那么对应的就可以转出对应字符,里面的65对应A,48对应数字0,

/**
 * @param {number} n
 * @return {string}
 */
var convertToTitle = function(n) {
let str = "";
n--;
if(n==0)str = "A";
while(n>0){
    let temp = n%26;
    n = Math.floor(n/26)-1;
    str = String.fromCharCode(temp+65)+str;
    if(n==0) str = "A"+str;

}
return str;
};

你可能感兴趣的:(JS训练)