Excel表列序号(简单)
2020年5月21日
题目来源:力扣
解题
这道题是Excel表列名称的反向写法,难度低了很多,不用考虑26进制到26自动进位的问题。没什么技巧,暴力破解。
暴力法
字符串转字符数组,从最后开始遍历转成数字,相加得结果
class Solution {
public static int titleToNumber(String s) {
char []ss=s.toCharArray();
int count=0,muti=1;;
for(int i=ss.length-1;i>=0;i--){
int t=ss[i]-'A'+1;
count+=t*muti;
muti*=26;
}
return count;
}
}
暴力法plus
不用额外的字符数组,遍历字符串直接转字符,节省空间提升速度。
class Solution {
public static int titleToNumber(String s) {
int count=0;
for(int i=0;i<s.length();i++) {
int num = s.charAt(i) - 'A' + 1;
count = count * 26 + num;
}
return count;
}
}