标签:
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,继续刷题拓一下思路吧。
标签:
原文地址:http://www.cnblogs.com/sofiaT/p/5839117.html