1 class Solution { 2 public: 3 string convertToTitle(int n) { 4 string ans="",cur; 5 while(n) 6 { 7 n--; 8 int d=n%26; 9 cur='A'+d; 10 ans=cur+ans; 11 n/=26; 12 } 13 return ans; 14 } 15 };
每次减1后对26取余。本质上是10进制转化为26进制,将取余结果[1,26]转化为[0,25],所以需要每次减1
1 class Solution { 2 public: 3 string convertToTitle(int n) { 4 string ans="",cur; 5 while(n) 6 { 7 n--; 8 int d=n%26; 9 cur='A'+d; 10 ans=cur+ans; 11 n/=26; 12 } 13 return ans; 14 } 15 };
每次减1后对26取余。本质上是10进制转化为26进制,将取余结果[1,26]转化为[0,25],所以需要每次减1