首页 > 代码库 > 168. Excel Sheet Column Title
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
Solution1:
看起来是一道非常简单的题,但浪费了我好多时间。昨天下午一直到今天中午把第一个project做完,有点被掏空了= =。
思路:用余数的方法算字母,但是有几个corner case需要额外注意。52%=0,实际输出的是AZ,我的做法是检查余数,如果为零,减一,
然后再算整数位,如果余数不为零,就直接输出正确的余数和整数。小于等于26的数就直接输出字母。做的稀里糊涂的,困死了。
public class Solution { public String convertToTitle(int n) { StringBuilder sb=new StringBuilder(); while(n>0) { if(n<=26) { sb.insert(0,(char)(‘A‘+n-1)); return sb.toString(); } int check= n%26; if(check==0) { sb.insert(0,‘Z‘); n--; n/=26; } else { sb.insert(0,(char)(‘A‘+check-1)); n/=26; } } return null;}}
Solution2:
把数字减一再运算就不用考虑其他问题了。参考了discussion
public class Solution { public String convertToTitle(int n) { if (n < 1) { return ""; } StringBuilder sb = new StringBuilder(); while (n > 0) { n--; sb.insert(0, (char)(n % 26 + ‘A‘)); n /= 26; } return sb.toString(); }}
168. Excel Sheet Column Title
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。