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
python给出来的函数定义和参数如下
class Solution:
# @param s, a string
# @return an integer
def titleToNumber(self, s):
既然前面C语言已经将过程弄清楚了,python就可以照葫芦画瓢了,但是关键是python如何打印ascii,先实验一把
>>> ord('A')
65
>>> ord('B')
66
>>> ord('AB')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: ord() expected a character, but string of length 2 found
>>>
可以看到很容易的说,把C的流程搬过来,实现一边,提交
class Solution:
# @param s, a string
# @return an integer
def titleToNumber(self, s):
sum = 0
for ch in s:
sum = sum * 26 + ord(ch) - 64
return sum
结果毫不客气的Error
Submission Result: Runtime ErrorMore Details Runtime Error Message: Line 8: IndentationError: unindent does not match any outer indentation level Last executed input: "A"
仔细看了看,好像意思对齐是不是有问题,火眼晶晶秒了秒,return好像多空了一格
重新提交试试
class Solution:
# @param s, a string
# @return an integer
def titleToNumber(self, s):
sum = 0
for ch in s:
sum = sum * 26 + ord(ch) - 64
return sum
果然OK了
Submission Details 1000 / 1000 test cases passed. Status: Accepted Runtime: 78 ms
