Leetcode (9) Excel Sheet Column Number

来源:互联网 发布:南充市行知小学 编辑:程序博客网 时间:2024/05/19 08:45

题目描述

Related to question Excel Sheet Column Title

Given a column title as appear in an Excel sheet, return its corresponding column number.

For example:

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

也就是说给你一个字符串,需要输出它代表的excel上的列号。

其实这题就是相当于26进制数的10进制表示。我们可以从个位开始进行计算,这样在得到第n+1位数的次数时,不必重新计算n26,只用在上一次的基础上乘以26就好了,减小计算量。

解决代码

class Solution {public:    int titleToNumber(string s) {        const int n = 26;        int r = 0;        int power26 = 1;        const char start = 'A';        for (int i = s.size() - 1; i > -1; --i)        {            r += (s[i] - start + 1) * power26;            power26 *= n;        }        return r;    }};
0 0