给你一个字符串 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
提示:
-
1 <= columnTitle.length <= 7
-
columnTitle
仅由大写英文组成 -
columnTitle
在范围["A", "FXSHRXW"]
内public class Solution { //10进制成26 public static int titleToNumber(String columnTitle) { //定义字母数组 char[] arr=new char[]{'A','B','C','D','E','F','G','H', 'I','J','K','L','M','N','O','P', 'Q','R','S','T','U','V','W','X', 'Y','Z'}; char[] arr2=columnTitle.toCharArray();//待处理字符串 double sum=0;//结果 int arrLen= arr2.length;//字符个数 double cimi=0;//次密 while (arrLen>0) { for (int i=0;i<26;i++) { if(arr[i]==arr2[arrLen-1]) { sum=sum+(i+1)*Math.pow(26,cimi); //x*26^n+...+x*26^0 cimi++; break; } } arrLen--; } return (int) sum; } public static void main(String[] args) { System.out.println(titleToNumber("FXSHRXW")); } }