原题:
Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28
即 excel 列标题转数字
思路:其实就是是26进制数转10进制数 。本题和 leetcode-Excel Sheet Column Title 是姐妹题,分别对应了excel列标题的编码操作和解码操作。
代码(Java):
public class Solution
{
public int titleToNumber(String s)
{
if(s==null||s.equals(""))
{
return -1;
}
String letters = "0ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //开始加一个0使得下标和字母表示的数值一致
int result = 0;
for(int i= 0; i < s.length(); i++)
{
char current = s.charAt(i);
int indexOfCurrent = letters.indexOf(current);
if(indexOfCurrent < 0) //遇到非法字符返回-1
{
return -1;
}
else
{
result = result*26 + indexOfCurrent;
}
}
return result;
}
}
相关题目:
leetcode-Excel Sheet Column Title