LeetCode 171:Excel Sheet Column Numbert

来源:互联网 发布:ubuntu和linux的区别 编辑:程序博客网 时间:2024/06/07 02:57

题目要求:

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 stubExcelSheetColumnNumber e=new ExcelSheetColumnNumber();String ss="AAA";System.out.print(e.titleToNumber(ss));}}


1 0
原创粉丝点击