【アルゴリズムとデータ構造の関連】【LeetCode】【168 Excelテーブル名】【Python】
917 ワード
タイトル:正の整数を指定し、Excelテーブルに対応するカラム名を返します.たとえば、
コード: ord()文字をascIIコード に変換 chr()ascIIを文字 に変換
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB
...
考え方:全体的に進数変換ですが、余剰と文字が一致すると少し回り、余剰の範囲は0-25、文字対応の範囲は1-26ですコード:
class Solution(object):
def convertToTitle(self, n):
"""
:type n: int
:rtype: str
"""
assert n > 0
n = n-1
result = []
result_str = ''
if n == 0:
return 'A'
while n > 0:
temp = n%26
n = (n//26)-1
result.append(temp)
if n>=0:
result.append(n)
result.reverse()
for item in result:
result_str += chr(ord('A')+item)
return result_str
注意:Pythonの文字とascIIコードの変換: