[LeetCode] Excel Sheet Column Title

Excel Sheet Column Title

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

解题思路:

十进制转化成26进制。注意对于string类型来说,并不存在string=char+string类型操作符,只有string=string+char操作符。因此,可以用栈来存储低位,然后出栈。

另外一个需要注意的是(n-1)%26+'A',要n-1哈。

class Solution {
public:
    string convertToTitle(int n) {
        string result="";
        stack<char> s;
        while(n!=0){
            s.push((n-1) % 26 + 'A');
            n = (n-1) / 26;
        }
        while(!s.empty()){
            result += s.top();
            s.pop();
        }
        return result;
    }
};

二次刷题(2015-08-05)

原来string类型的构造函数还可以这样string(int n, char c),表示n个c初始化string。

class Solution {
public:
    string convertToTitle(int n) {
        string result = "";
        while(n!=0){
            result = string(1, (n-1)%26 + 'A') + result;
            n = (n-1)/26;
        }
        return result;
    }
};


0 条评论

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注