LeetCode 171:Excel Sheet Column Numbert

题目要求:

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));
	}

}


猜你喜欢

转载自blog.csdn.net/wetsion/article/details/50448775