LC 0171 [E] Excel Sheet Column Number - ALawliet/algorithms GitHub Wiki
To translate a letter to a number we use the Python method ord which returns the Unicode code of the letter. By subtracting the code by 64, we can map letters to the numbers from 1 to 26.
class Solution:
def titleToNumber(self, columnTitle: str) -> int:
ans, pos = 0, 0
for letter in reversed(columnTitle):
digit = ord(letter)-64
ans += digit * 26**pos
pos += 1
return ans
def titleToNumber(self, columnTitle: str) -> int:
val = 0
for i, c in enumerate(reversed(columnTitle.upper())):
val += (26**i) * (ord(c) - ord('A') + 1)
return val
def titleToNumber(self, columnTitle):
val = 0
for i in columnTitle:
temp = ord(i) - ord('A') + 1
val = val*26 + temp
return val
'''
>>> ord('a')
97
>>> ord('A')
65
>>> ord('0')
48
base 10
number = '2539'
ans = ans + 9 * 10**0
ans = ans + 3 * 10**1
ans = ans + 5 * 10**2
ans = ans + 2 * 10**3
ans = 2539
for base 26 we do the same but use 26 instead of 10
'''