题目
168. Excel表列名称
给定一个正整数,返回它在 Excel 表中相对应的列名称。
例如,
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
示例 1:
输入: 1
输出: "A"
示例 2:
输入: 28
输出: "AB"
示例 3:
输入: 701
输出: "ZY"
题解
我用的递归:一个整数n可以分为n = n/26 + n%26; n%26一定是最后一个字符。其实我也不知道为什么这样递归后就能得出正确答案,反正就想到这样思路,就试了一下,和测试答案一样。
n
n/26 n%26
n/26/26 n/26%26
...............
class Solution {
public:
string convertToTitle(int n) {
string result;
if(n == 26)
return "Z";
if(n < 26)
return result + (char)('A' + n - 1);
else
if(n % 26 != 0)
return convertToTitle(n / 26) + convertToTitle(n % 26);
else
return convertToTitle(n / 26 - 1) + convertToTitle(26);
}
};
本文地址:https://blog.csdn.net/qq_43833364/article/details/107470178
如对本文有疑问, 点击进行留言回复!!
同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!
【JavaScript笔记(一)】万丈高楼平地起 - 基本概念篇
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
网友评论