leetcode 171 表列序号

其实就是进制转换,第一个方法是递归,用迭代也是差不多的,贴一下递归的代码

class Solution {
public:
    int generate(string& str,int& num_temp)
    {
        if(!str.length())
        return num_temp;
        num_temp = num_temp*26 + (str[0]-'A'+1);
        str.erase(str.begin());
        return generate(str,num_temp);
    }
    int titleToNumber(string columnTitle) 
    {
        int num = 0;
        return generate(columnTitle,num);
    }
};

 注意加上括号,不注意这个可能会出现溢出的问题。

posted @ 2021-09-03 17:36  zhaohhhh  阅读(35)  评论(0)    收藏  举报