思路
- 用除法和餘數解決問題。,一個循環把餘數前面的字母確定並逐個加到結果上,最後把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要跳出循環