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 
  

很惭愧,这一题我没折腾出来。刚刚做了她的姐妹题,是把字母转化成数字,但是反过来就很难搞了。

可以把它当成进制转换题来看,但是A-Z对应的是1-26,没有0,看成26进制的话又有了26。

于是跑去看了别人的代码,发现由于每一步的转化只对个位进行操作,所以每次转化前减一,再进行操作即可。

class Solution {
public:
  string convertToTitle(int n) {
    string result;
    while(n-- != 0) {//后减,判断是否大于一后将个位减一
        result = char('A' + n%26) + result;
        n /= 26;
    }
    return result;
  }
};

事后诸葛:之前也想过是否要进行减一的操作,但是没深入思考,当时以为每一位都要进行操作,觉得会很麻烦就放弃了。

还是too young too simple,继续刷题拓一下思路吧。

转载于:https://www.cnblogs.com/sofiaT/p/5839117.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值