一、 題目
給定一個出現在Excel表格中的列標題,返回其對應的列號。
例如:
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
二、 分析
題目說的很清楚,其實仔細分析下很簡單的,就是將一個字符串轉化為整型數(atoi())的變形---以26為基數,而且更簡單。
class Solution {
public:
int titleToNumber(string s) {
int sum = 0;
for(int i = 0; s[i] != '\0'; i++){
sum = sum *26 + (s[i] - 'A' + 1);
}
return sum;
}
};
剛學了Python,簡單的炫一下:
class Solution:
# @param s, a string
# @return an integer
def titleToNumber(self, s):
sum = 0
for i in s:
sum = sum * 26 + ord(i) -ord('A') + 1
return sum