[leetcode]168. Excel Sheet Column Title -- JavaScript 代码

Myth丶恋晨 2022-07-16 22:38 87阅读 0赞
  1. /** * @param {number} n * @return {string} */
  2. var convertToTitle = function(n) { // fromCharCode();
  3. if(n===0){
  4. return 0;
  5. }
  6. var str = [];
  7. while(n>0){
  8. n--;
  9. code = String.fromCharCode(n%26+65);
  10. n = Math.floor(n/26);
  11. str.push(code);
  12. }
  13. return str.reverse().join("");
  14. };

这道题的核心是使用了JS的方法String.fromCharCode,它可以将数字转化为对应的ascii码。
另外,这道题相当于是一个26进制的转化,但是给的题目比较迷惑,因为没有0,所以我们必须自己手动转化,将A看作0,将Z看做25…所以n–这一步是必须做的。
还有一道题和这道题目的转换方向相反,在这里也给出代码:

  1. Excel Sheet Column Number:

    /* @param {string} s @return {number} /
    var titleToNumber = function(s) {
    // 26进制问题
    var len = s.length;
    if(len===0){

    1. return 0;

    }
    var sum = 0;
    for(var i=0;i<len;i++){

    1. var cur = s.charCodeAt(i)-64;
    2. sum = sum * 26 + cur;

    }
    return sum;
    };

发表评论

表情:
评论列表 (有 0 条评论,87人围观)

还没有评论,来说两句吧...

相关阅读