【剑指offer】(扩展)Excel字母表示列号

这篇博客探讨了如何将Excel中用大写字母表示的列号转换为数字。通过引入二十六进制的概念,解释了从字母到数字的计算方法,并指出大写字母A对应的数字是65。博客内容适用于理解计算机处理字符串与数字转换,特别是对于编程面试和Java开发者具有参考价值。

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

题目:

Excel中使用大写字母表示列号,例如A表示1,B表示2.......AA表示27.......根据输入的字母,判断列号。


分析:

使用字母来引入“二十六进制”,相当于对“二十六进制”进行计算为十进制。

同时要知道大写字母A表示的数字65,65-90为26个大写英文字母,97-122为26个小写英文字母。


实现:

<span style="font-size:14px;">public int lineNum(String s) {
	int length = s.length();
	if (s == null || length == 0)
		return 0;
	int num = s.charAt(length - 1) - 64;
	int bit = 1;
	for (int i = 0; i < length - 1; i++) {
		char c = s.charAt(i);
		bit *= (i + 1) * 26;
		num += (c - 65 + 1) * bit;
	}
	return num;
}</span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值