leetcode168:Excel表列名称

 题目链接:168. Excel表列名称 - 力扣(LeetCode)

class Solution {
public:
    string convertToTitle(int columnNumber) {
        string ss1;
        int MOD = 0;
        if(columnNumber <= 26)
        {
            ss1 += (columnNumber + 'A' - 1);
            return ss1;
        }
        while(columnNumber)
        {
            int MOD = columnNumber % 26;
            columnNumber /= 26;
            if(MOD == 0)
            {
                ss1 += 'A' + 26 - 1;
                columnNumber -= 1;
                continue;
            }
            ss1 += (MOD + 'A' - 1);
        }
        reverse(ss1.begin(), ss1.end());
        return ss1;
    }
};

这个题目就是从后往前每位上除以26,不要用pow,因为你想想,你要是第一次除以26,第二次除以26的平方,加起来那不就是除以三次26了,我当时就是坏在这里了,对了,还要特别关注余数为0的情况,尤其是52这个样例,多试试。

相似题目:171. Excel 表列序号 - 力扣(LeetCode)

这个题目就是给了字符来找数字,这个从后往前遍历,这个恰恰相反,这个不要只乘以26了,这个因为每次把每一位单独计算,要计算pow(26,x);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值