给定一个Excel表格中的列名称,返回其相应的列序号。
例如,
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
示例 1:
输入: "A"
输出: 1
示例 2:
输入: "AB"
输出: 28
示例 3:
输入: "ZY"
输出: 701
import java.util.*;
public class Main {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String str=sc.next();
System.out.println(Solution.titleToNumber(str));
}
}
class Solution {
public static int titleToNumber(String s) {
int res=0;
for (int i=0;i<s.length();i++)
{
res+=(s.charAt(i)-64)*Math.pow(26,s.length()-i-1);
}
return res;
}
}
思路:实质上就是26进制转10进制的问题,将A-Z看做26进制数。按权相加。