题目
代码部分一(6ms 28.72%)
class Solution {
public int titleToNumber(String s) {
int res = 0;
char[] ch = s.toCharArray();
int len = ch.length;
for(int i = 0; i < len; i++){
if(i < len - 1){
int n = len - 1 - i;
int temp = ch[i] - 'A' + 1;
while(n > 0){
temp = temp * 26;
n--;
}
res += temp;
}else{
res += ch[i] - 'A' + 1;
}
}
return res;
}
}
代码部分二(2ms 89.11%)
class Solution {
public int titleToNumber(String s) {
int res = 0;
for(int i = 0; i < s.length(); i++)
{
res += (s.charAt(i) - 'A' + 1) * Math.pow(26, s.length() - i - 1);
}
return res;
}
}
代码部分三(1ms 100%)
class Solution {
public int titleToNumber(String s) {
int res = 0;
char[] ch = s.toCharArray();
int len = ch.length;
for(int i = 0; i < len; i++){
if(i < len - 1){
int n = len - 1 - i;
int temp = ch[i] - 'A' + 1;
while(n > 0){
temp = temp * 26;
n--;
}
res += temp;
}else{
res += ch[i] - 'A' + 1;
}
}
return res;
}
}
代码部分四(1ms 100%)
class Solution {
private static final int base = 64;
public int titleToNumber(String s) {
int len = s.length();
int res = 0;
for (int i = 0; i < len; ++i) {
res *= 26;
res += s.charAt(i) - base;
}
return res;
}
}