NC336. Excel列名称
描述
示例1
输入:
5
输出:
"E"
示例2
输入:
29
输出:
"AC"
C++ 解法, 执行用时: 3ms, 内存消耗: 392KB, 提交时间: 2022-08-02
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return string字符串 */ string ExcelTitle(int n) { string res; while(n){ n--; char now = 'A' + (n%26) ; res = now + res; n = n/26; } return res; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 392KB, 提交时间: 2022-04-30
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return string字符串 */ string ExcelTitle(int n) { // write code here vector<char> tmp; while(n) { if(n%26 != 0 ) { tmp.push_back(n%26 + 64); n /= 26; } else { tmp.push_back('Z'); n = n/26-1; } } return string(tmp.rbegin(), tmp.rend()); } };
C++ 解法, 执行用时: 3ms, 内存消耗: 400KB, 提交时间: 2022-05-26
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return string字符串 */ string ExcelTitle(int n) { // write code here string result; //n-=1; while(n){ n-=1; int t=n%26; n/=26; result+=t+'A'; } reverse(result.begin(),result.end()); return result; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 404KB, 提交时间: 2022-05-25
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return string字符串 */ string ExcelTitle(int n) { // write code here string res; while(n){ int mid = n%26; if(mid!=0){ char tmp = 'A'+mid-1; res+=tmp; n = n/26; }else{ res+='Z'; n = n/26-1; } } reverse(res.begin(), res.end()); return res; } };
C 解法, 执行用时: 3ms, 内存消耗: 408KB, 提交时间: 2022-06-17
/* Excel列名称 1->A 2->B ... 27->AA 28->AB ... */ char* ExcelTitle(int n ) { char* res = malloc(sizeof(char) * 4); int i = 2; while (n > 0) { n--; res[i] = n % 26 + 'A'; i--; n = n / 26; } return &res[i + 1]; }