LeetCode 171:Excel Sheet Column Numbert

本文详细解析了如何将Excel表中列标题转换为对应的序号,包括算法实现和具体步骤,通过实例代码展示操作过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目要求:

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

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值