LeetCode 6:Excel Sheet Column Number
Given a column title as appear in an Excel sheet, return its corresponding column number.
For example:
A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28
以上是问题,实际上很好做。但是。。。。
以下是我的代码:
class Solution { public: int titleToNumber(string s) { int strNum = 0; int strIdx = 1; int strLen = s.size(); for (string::iterator iter=s.begin(); iter!=s.end(); ++iter) { strNum += ( *iter - 'A' + 1) * pow(static_cast<double>(26),static_cast<double>(strLen - strIdx)); ++strIdx; } return strNum; } };
定义了这么多变量,然后求出了一个strNum,看来问题是解决了。
在网上搜的大神的代码:
class Solution { public: int titleToNumber(string s) { int ret = 0; for(int i = 0; i < s.size(); i ++) ret = ret*26 + (s[i]-'A'+1); return ret; } };
简单,就是这么任性,这就是个26进制转10十进制的问题!!!自己还是灰常的不足。。。
多看看大神的代码,多学习,多吸收!!!
learn++