一、 題目
給定一個出現在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