168. Excel Sheet Column Title
Tags
- Math
Given a positive integer, return its corresponding column title as appear in an Excel sheet.
For example:
1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB
题意:
给定一个正整数,就如同出现在一个表格中那样返回其对应的列标题。
分析:
本题很简单,说白了就是将数字转换为英文字符,javascript中也有对应的函数String.fromCodePoint(),因此直接转换就可以了。
思路:
- 有26个字母,数字与字母一一对应
- 直接26求余,再将数字转变成字符,直到除尽为止
Js实现:
复杂度:
时间复杂度O(n)
/**
* @param {number} n
* @return {string}
*/
let convertToTitle = function(n) {
let ctArr = [];
while(n > 0){
n--;
let ch = String.fromCodePoint(n % 26 + 65);
n = Math.floor(n/26);
ctArr.push(ch);
}
ctArr.reverse();
return ctArr.join('');
}