Related to question Excel Sheet Column Title
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
class Solution {
public:int titleToNumber(string s) {
int number=0;
for(int i=0;i<s.length();i++)
{
number=26*number+s[i]-65+1;
}
return number;
}
};
这个问题也非常简单,无非就是把十制问题变成了一个26进制的问题。但其中有几个关键点,string的.length函数;string的第一个字符为最高位,如ABC,s[0]='A',存的是ASCII码。那既然是从高位到低位存储,就需要通过迭代来进行求解。如ABC所对应的数字为1*26*26+2*26+3,分解开来,就是26*(26*1+2)+3。这个太简单,再如ABCD,分解开来,26(26*(26*1+2)+3)+4。总之,都可以通过迭代来进行求解。是不是很简单呢?
Excel列标题转数字算法
本文介绍了一种将Excel表格中的列标题转换为对应数字的方法。通过简单的26进制算法,可以快速准确地实现这一转换。例如,A对应1,Z对应26,AA对应27等。
255

被折叠的 条评论
为什么被折叠?



