给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回该列名称对应的列序号。
例如,
A -> 1
B -> 2
C -> 3
…
Z -> 26
AA -> 27
AB -> 28
…
示例 1:
输入: columnTitle = "A"
输出: 1
示例 2:
输入: columnTitle = "AB"
输出: 28
示例 3:
输入: columnTitle = "ZY"
输出: 701
示例 4:
输入: columnTitle = "FXSHRXW"
输出: 2147483647
提示:
1 <= columnTitle.length <= 7
columnTitle 仅由大写英文组成
columnTitle 在范围 ["A", "FXSHRXW"] 内
思路:
取每一位,转换成数字(columnTitle[i]-‘A’+1),算下一位的时候乘26。
AC代码:(C++)
class Solution {
public:
int titleToNumber(string columnTitle) {
int len = columnTitle.size(), ans = 0;
for (int i = 0; i < len; i++) {
int temp = columnTitle[i] - 'A' + 1;
ans = ans * 26 + temp;
}
return ans;
}
};