PRoblem: 給一個數字,輸出對應的字母編號,1-A, 26-Z,27-AA。 Solution: 考察的是進制的轉換,難點在于對于26的倍數的處理,通過取余時-1然后再+1來實現。
Solution1:class Solution {public: string convertToTitle(int n) { return (n==0) ? "" : convertToTitle((n-1)/26) + char('A'+(n-1)%26); }};Solution2:class Solution {public: string convertToTitle(int n) { string ans; while(n) { ans = char((n-1)%26 +'A') + ans; n = (n-1)/26; } return ans; }};新聞熱點
疑難解答