168.Excel表列名字(javascript)168.ExcelSheetColumnTitle
原创leetcode主题来自: https://leetcode-cn.com/problems/excel-sheet-column-title/
给你一个整数 columnNumber ,将其退回。 Excel 表中相应的列名。
Given an integer columnNumber, return its corresponding column title as it appears in an Excel sheet.
例如:
A -> 1
B -> 2
C -> 3
…
Z -> 26
AA -> 27
AB -> 28
…
示例 1:
输入:columnNumber = 1
输出:“A”
示例 2:
输入:columnNumber = 28
输出:“AB”
示例 3:
输入:columnNumber = 701
输出:“ZY”
示例 4:
输入:columnNumber = 2147483647
输出:“FXSHRXW”
为了分析主题,A~Z是1到26 与26十六进制之间的区别是0到25,每次只将数据减少一个以符合二进制转换,然后只需要做,将十进制转换为十六进制,然后转换十六进制数Unicode 编码

function convertToTitle(columnNumber) {
var str = ""
while (columnNumber >= 1) {
columnNumber--
//其余部分由字符表示,到。str储存起来
str += String.fromCharCode("A".charCodeAt() + columnNumber % 26);
console.log("str", str, columnNumber % 26, columnNumber / 26);
//columnNumber,被除数更新为商的值。
columnNumber = Math.floor(columnNumber / 26);
}
console.log("str",str.split("").reverse().join(""))//翻转字符串,首先将字符串转换为数组,然后翻转数组,然后将反转的数组转换为字符串
return str.split("").reverse().join("")
};
convertToTitle(51)//AY
知识点:
1.String.fromCharCode(65)----A
将 Unicode 编码为一个字符:
var n = String.fromCharCode(65);
2.“A”.charCodeAt()—65
返回字符串的第一个字符。 Unicode 编码(H 的 Unicode 值):
var str = "HELLO WORLD";
var n = str.charCodeAt(0);
"A".charCodeAt()
3.Math.floor() 返回小于或等于给定数字的最大整数。
注:可以理解 Math.floor()用于向下舍入
Math.floor(25.11)
//25
4.str.split("").reverse().join("")
let str="AY"
var num = str.split("").reverse().join("")
//str--AY
//num--YA 版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123


