您的位置:首页 > 其它

LeetCode-168 Excel Sheet Column Title

2016-06-16 18:44 411 查看
Given a positive integer, return its corresponding column title as appear in an Excel sheet.

For example:
1 -> A
2 -> B
3 -> C
...
26 -> Z
27 -> AA
28 -> AB


class Solution {

public:

    string convertToTitle(int n) {

        vector<int> num;

        //转换成数字(逆序)

        while(n/26!=0){

            num.push_back(n%26);

            n /= 26;

        }

        num.push_back(n);

        int len = num.size();

        //对0进行处理(01(逆序)相当于26,‘Z’)

        // eg:26^2,即成了001(逆序),第一次循环后为 26 -1 1,第二次循环后 26 25 0;

        for(int i = 0;i<len-1;i++){

            if(num[i]<=0){ 

                num[i+1] -= 1;

                num[i] += 26;

            }

        }

        if(num[num.size()-1] == 0)

            num.pop_back();

        int size = num.size();

        char str[size + 1];

        //逆序,转换为字符串

        for(int j = 0;j<size;j++){

            str[j] = num[size - 1 - j] - 1 + 'A';

        }

        str[size] = '\0';

        string s(str);

        return s;

    }

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LeetCode