思路
- 用除法和余数解决问题。,一个循环把余数前面的字母确定并逐个加到结果上,最后把n%26的字母表示加上。有flaw,没解决
- 真的不晓得怎么解决这两个特殊情况。这个特殊情况原因在于,没有A0,第27个是AA,而Z却表示26. 以下是看了正确答案反推的
- 由于从1开始,于是思维定势觉得用
'A' - 1 + 余数
来做表达方法 - 如果想到可以直接用’A’加余数,可能会更好,而Z就是加了25, 而加上26就变成了AA
- 之前反复有0出现,其实就是余数为0的时候
- 要想到余数为0不能避免,所以要用 – 解决
- 不过每一个循环都– 真的没想到
- You can think of the -1 part as changing from 1-based index to 0-based index
- This is simple conversion from base 10 to base 26. However, the new base (base 26) is one based, so our alphabet [1,26] which maps to A~Z. Using the mod operator gives numbers in range [0, 25]. That’s why he used (n-1) so he’s converting n from 1 based to 0 based.
一些讨论
https://discuss.leetcode.com/topic/6244/solution-with-explanation
Logic Flaw
- 思路1:Failed Test: 26, 52
- 有余数的时候才要加最后一个,没有的时候不加
num < 26
要注意num > 0
的条件别忘了。当除完的结果为0要跳出循环