一、 题目
给定一个出现在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
leetcode:Excel Sheet Column Number
原文:http://blog.csdn.net/zzucsliang/article/details/43712769