Leetcode 第168题 Excel Sheet Column Title

题目:Excel Sheet Column Title

  • 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 

题目分析:

  • 题目含义是将进行26进制和十进制的转化,涉及到ASCII码与字符之间的转换

思路:

  • 将1-26转换为对应的A到Z之间的字母,再重复进行。注意25,26,27的转化。

代码:

*C++

class Solution {
public:
  string convertToTitle(int n) {
    string s = "";
    while (n > 0) {
      s = (char)(65 + (n - 1) % 26) + s;
      n = (n - 1) / 26;
    }
    return s;
  }
};

  • Javascript
/**
 * @param {number} n
 * @return {string}
 */
var convertToTitle = function(n) {
    var s="";
    while(n>0)
    {
        var res=(n-1)%26;
        s=ASCIIToLetter(res)+s;//将数字转化为对应的字符

        n=parseInt((n-1)/26);//主要js中的弱类型 需要对结果进行取整
    }
    return s;
};
function ASCIIToLetter(num)
{
    return String.fromCharCode(num+65);//将num输出对应的字符
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值