C++
class Solution {
public:
int titleToNumber(string s) {
int result=0;
for(int i=0;i<s.length();i++)
{
result+=(s[i]-64)*pow(26,(s.length()-i-1));
}
return result;
}
};
Java
public class Solution {
public int titleToNumber(String s) {
int result=0;
for(int i=0;i<s.length();i++)
{
result+=(s.charAt(i)-64)*Math.pow(26,(s.length()-i-1));
}
return result;
}
}
Javascript
/**
* @param {string} s
* @return {number}
*/
var titleToNumber = function(s) {
var result=0;
for(var i=0;i<s.length;i++)
{
result+=(s.charCodeAt(i)-64)*Math.pow(26,(s.length-i-1));
}
return result;
};
最优解,有两点做的比我好
一个是字母转数字,一个是乘法的运用
`
Java
public class Solution {
public int titleToNumber(String s) {
int result = 0;
for (int i = 0; i < s.length(); i++){
result *= 26;
result += ((s.charAt(i) - 'A') + 1);
}
return result;
}
}
网友评论