11,190
社区成员
发帖
与我相关
我的任务
分享
给你一个字符串 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="ABC",首先字符串转化为字节数组,charArray=["A","B","C"],其中A为最高位,C为最低位。从最高位开始,依次计算每个位置贡献的数值大小,A等效于26机制的1,B等效与B-A+1即2,一次类推Z等效于26,如果该数组仅有A,则1就是最终结果,然而该数组长度为3,继续计算次高位B,此时A的需要升一个26进制,所以此时A*26+(B-A+1),依次类推,每计算一个低位则把高位的值升26进制,然后加上低位的值。