168. Excel Sheet Column Title
2016-05-15 19:02
393 查看
168. Excel Sheet Column Title
Description:Given a positive integer, return its corresponding column title as appear in an Excel sheet.
Example:
1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB
Analysis:
这个问题跟十进制转换为26进制数是比较类似的,但是有点细微差别(你会发现 A、B…、AA、AB这些数里没有“0”,Z而非A0表示26)。
1. 首先注意,我们使用(num-1)%26+1来取得低位数,而非直接使用num%26,因为后者会把‘26’变为‘0’
2. 在取高位的时候,我们使用(num-1)/26,这样可以防止’26’的整数倍进位。
note: 由于个人使用的C++编译器版本较低,以下代码中string::insert函数使用的比较费劲,C++11版本好像可以直接在其函数中使用char类型参数了(详见:http://en.cppreference.com/w/cpp/string/basic_string/insert)。
Source Code(C++):
#include <iostream> #include <string> #include <cmath> using namespace std; class Solution { public: string convertToTitle(int n) { string s; s = (char)((n-1)%26+65); while (n>26) { n =(n-1)/26; char c = (char)((n-1)%26+65); s.insert(0, &c, 0, 1); } return s; } }; int main() { Solution sol; cout << sol.convertToTitle(27); return 0; }
相关文章推荐
- PCB信号完整性分析--干货!(电子工程专辑微信公众号)
- HZAU校赛F题 LCS (dp)
- 机房合作总结
- mysql慢查询分析
- 第一个JSP程序
- SQLSERVER2008 R2的端口设置
- 在 Xcode 7 中安装 Alcatraz,再次安装vvdocumenter
- Ubuntu14.10 更新源
- 嵌套函数 递归函数
- Meanshift--聚类算法
- HDU 5683 zxa and xor 暴力模拟
- WampServer 2.5设置外网访问/局域网手机访问(403 Forbidden错误解决方法)
- Spark-项目中分析日志的核心代码
- IO流
- 如何高效地阅读文献?
- SVN基础总结
- Qt quick 实现bootstrap界面之标签控件
- web测试
- 安装和配置tomcat服务器
- java中数据结构