HDU 2057 A + B Again(16进制加法)
972
2022-08-23
[leetcode] 168. Excel Sheet Column Title
Description
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 ...
Example 1:
Input: 1Output: "A"
Example 2:
Input: 28Output: "AB"
Example 3:
Input: 701Output: "ZY"
分析
题目的意思是:把十进制的数转换成excel的列标题
这道题目比较简单的进制转换问题。重点看看代码二的奇妙解法。
代码一
class Solution {public: string convertToTitle(int n) { string res; while(n){ if(n%26==0){ res.push_back('Z'); n=n/26; n--; if(!n){ break; } }else{ res.push_back(n%26+'A'-1); n=n/26; } } reverse(res.begin(),res.end()); return res; }};
代码二
std::string str( "" ); while( n ) { str = char( ( n - 1 ) % 26 + 'A') + str; n = ( n - 1 )/26; } return str; }
参考文献
168. Excel Sheet Column Title
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~