给你一个整数 columnNumber
,返回它在 Excel 表中相对应的列名称。
例如:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...
示例 1:
输入:columnNumber = 1 输出:"A"
示例 2:
输入:columnNumber = 28 输出:"AB"
示例 3:
输入:columnNumber = 701 输出:"ZY"
示例 4:
输入:columnNumber = 2147483647 输出:"FXSHRXW"
提示:
1 <= columnNumber <= 231 - 1
思路一:转换为字符串后翻转顺序
c语言解法
void reverse(char* str, int strSize) {
int left = 0, right = strSize - 1;
while (left < right) {
char tmp = str[left];
str[left] = str[right], str[right] = tmp;
left++;
right--;
}
}
char* convertToTitle(int columnNumber) {
char* ans = malloc(sizeof(char) * 8);
int ansSize = 0;
while (columnNumber > 0) {
int a0 = (columnNumber - 1) % 26 + 1;
ans[ansSize++] = a0 - 1 + 'A';
columnNumber = (columnNumber - a0) / 26;
}
ans[ansSize] = '\0';
reverse(ans, ansSize);
return ans;
}
分析:
本题给出一个整数返回excel表中相对应的名称,注意到整数每对26取模一次则返回名称长度加一,且此新字符和取模的数有关,将这些字符记录下来,编写一个翻转函数来改变顺序,最后返回处理好的字符串即可文章来源:https://www.toymoban.com/news/detail-726999.html
总结:
本题考察对字符串的应用,利用取模运算转换字符后翻转输出即可解决,时间复杂度O(n),空间复杂度O(n)文章来源地址https://www.toymoban.com/news/detail-726999.html
到了这里,关于leetcode做题笔记168. Excel表列名称的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!