JonnyF--Excel Sheet Column Number

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 

解题思路:

   题目求解Excel列的字母所对应的列数。了解2、8、16进制的原理的话其实很容易理解列的字符串和整数所对应的关系。很容易理解,这是个27进制的问题。其中A代表1、B代表2...
   所以字符c对应的整数可以用c-'A'+1来表示。所以只需用一个循环即可计算27进制的字符串与10进制的整数的对应关系。
   首先先将字符转化成ASCII码,再进行计算。
class Solution:
    # @param s, a string
    # @return an integer
    def titleToNumber(self, s):
        res = 0
        for i in range(len(s)):
            c = s[i]
            res += int(ord(c)-ord('A')+1) * (26**(len(s)-i-1))
        return res
posted @ 2015-05-14 13:44  F-happy  阅读(118)  评论(0)    收藏  举报