首页 > 代码库 > [LeetCode]168.Excel Sheet Column Title
[LeetCode]168.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
【分析】
Because any_pos_int mod 26
should return a number in the interval [0, 25]
, but what we want is a number in the interval [1, 26]
. Thus we have to shift the digit leftward by 1
which means--n
.
【代码】
/********************************* * 日期:2015-01-29 * 作者:SJF0115 * 题目: 168.Excel Sheet Column Title * 网址:https://oj.leetcode.com/problems/excel-sheet-column-title/ * 结果:AC * 来源:LeetCode * 博客: **********************************/ #include <iostream> #include <vector> #include <string> using namespace std; class Solution { public: string convertToTitle(int n) { if(n <= 0){ return ""; }//if vector<int> vec; --n; // 除26取余倒排序 while(n >= 0){ vec.push_back(n % 26); n /= 26; --n; }// // 转换 string result; int len = vec.size(); for(int i = 0;i < len;++i){ result.insert(result.begin(),vec[i]+'A'); }//for return result; } }; int main(){ Solution solution; for(int i = 500;i < 800;++i){ string result = solution.convertToTitle(i); // 输出 cout<<result<<" "; } cout<<endl; return 0; }
【代码二】
class Solution { public: string convertToTitle(int n) { if(n <= 0){ return ""; }//if string result; // 除26取余倒排序 while(n > 0){ n --; result.insert(result.begin(),static_cast<char>(n % 26 + 'A')); n /= 26; }// return result; } };
[LeetCode]168.Excel Sheet Column Title
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。