leetcode 168. Excel Sheet Column Title

將數字轉化爲字母,如1 - A, 26 - Z, 27 - 27。spa

解決:

理解展轉相除法便可,思考:code

Z*26^2  +  Z*26^1  +  Z*26^0blog

展轉相除,除以26的時候,Z*26^1  +  Z*26^0  +  (Z / 26),最後多個1。要麼減掉,要麼判斷。rem

    string convertToTitle(int n) {
        string ret;
        
        while (n > 0) {
            int rem = n % 26;
            if (rem == 0) {
                ret.push_back('Z');
                n = n / 26 - 1;
            } else {
                ret.push_back(rem + 64);
                n = n / 26;
            }
        }
        reverse(ret.begin(), ret.end());
        return ret;
    }

也可先--n再除,直接加上‘A’便可。string

相關文章
相關標籤/搜索