您的位置:首页 > 编程语言 > Java开发

LeetCode 171:Excel Sheet Column Numbert

2016-01-02 16:55 411 查看

题目要求:

Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 


   接触LeetCode后的碰到的第二道题~
首先还是看一下题目要求,给定一个出现在Excel表中列标题,返回相应的序号。我理解的就是,给一串字符,返回一个序号,例如,A是1,B是2,Z是26,AA是27,按照字母的顺序,即与字母A的距离来得出序号,26为一个循环,例如AAA是,703=1+26*27。
所以这道题应该这样来看,给定一个字符串,先通过length()方法得出字符串的长度,可知道循环几次,定义一个sum,初始化为0,再针对每一个字符,通过charAt方法得出每个位置的字符,将字符与A相减得出与A的距离,再将sum于26相乘,加上字符与A的距离,即得出每一次循环的sum值,再被下次循环使用,以此类推。表达能力较差,还是看代码吧
public class ExcelSheetColumnNumber {

public int titleToNumber(String s){
if(s==null||s.length()==0)
return 0;
int sum=0;
for(int i=0;i<s.length();i++){
sum=26*sum+s.charAt(i)-'A'+1;
}
return sum;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
ExcelSheetColumnNumber e=new ExcelSheetColumnNumber();
String ss="AAA";
System.out.print(e.titleToNumber(ss));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode java学习