Excel Sheet Column Title

来源:互联网 发布:投行 知乎 编辑:程序博客网 时间:2024/06/06 00:33

此博客主要为自己刷第二次的时候回忆用,代码比较渣,不过会逐渐修改,当然也欢迎交流。

Excel Sheet Column Title

LeetCode 题目地址

第一版代码

18 / 18 test cases passed.
Status: Accepted
Runtime: 2 ms
Submitted: 0 minutes ago

class Solution {public:    string convertToTitle(int n) {        if(n<=0)            return NULL;        stack<char> stk;        for(int i=0;n>=1;){            n--;//之前一直不AC,加了这句之后就过了,主要是因为这个不是纯26进制转换,因为没有0            char a=n%26;            n/=26;            a+=65;//这块则从A开始加而不是+64            stk.push(a);        }        int size=stk.size();        char * a=(char *)malloc(sizeof(char)*(size+1));        for(int i=0;i<size;i++){            *(a+i)=stk.top();            stk.pop();        }        *(a+size)='\0';        string val=string(a);        return val;    }};

压栈的目的是反转字符串,可以直接用string中的reverse,别人的代码如下:

class Solution {public:    string convertToTitle(int n) {        if(n < 1)            return "";        else        {            string result = "";            while(n)            {//get every letter in n from right to left                n --;                char c = n%26 + 'A';                result += c;                n /= 26;            }            reverse(result.begin(), result.end());            return result;        }    }};
0 0
原创粉丝点击