题目链接:Excel表列序号
2021年7月30日 星期五
这道题目呢比较简单,是一个26进制转换成10进制的问题,按权展开即可,下面上代码。
c++
/*
**by 小染
**2021年7月30日 星期五 13:15
*/
class Solution {
public:
int titleToNumber(string s) {//这个里面的参数名字太长了,我改了一下,但对程序并无影响。
int res=0;
int len=s.length();
int i=0;
while(i<len){
res*=26;
res+=s[i]-'A'+1;
i++;
}
return res;
}
};
java
/*
**by 小染
**2021年7月30日 星期五 13:15
*/
class Solution {
public int titleToNumber(String s) {
int res=0;
int len=s.length();
int i=0;
while(i<len){
res*=26;
res+=(s.charAt(i)-'A')+1;
i++;
}
return res;
}
}
python
/*
**by 小染
**2021年7月30日 星期五 14:15
*/
class Solution:
def titleToNumber(self, columnTitle: str) -> int:
res=0
l=len(columnTitle)
i=0
while i<l :
res*=26
res+=(ord(columnTitle[i])-ord('A'))+1
#因为python不像c语言一样支持两个字符的‘-’操作
#所以这里使用ord()函数来实现这个功能,ord()的参数是一个字符,返回值是该字符的ASCII码
i+=1
return res