问题描述
给定一个 EXCEL 表格的表头,要求换算成对应的数字。A -> 1, B -> 2, C -> 3, ..., Z -> 26, AA -> 27, AB -> 28, ...
。题目链接:点我
样例输入输出
输入:A
输出:1
输入:ZY
输出:701
问题解法
此题与 LeetCode-168 是一种类似26进制的相互转换关系,直接按进制转换的方式进行求解即可。代码如下
1 2 3 4 5 6 7 8 9 10 11 12
| class Solution { public int titleToNumber(String columnTitle) { int num = 0; int factor = 1; for (int i = columnTitle.length() - 1; i >= 0; i--) { num += ((columnTitle.charAt(i) - 'A') + 1) * factor; factor = factor * 26; } return num; } }
|