先不说细节,分类上来说,就是把string 转化成 int的题型,那不就是 roman to integer么。。。
是的,都是这一类的,那么解法也就一样了。。。把string遍历一遍,遍历的同时更新result,关键是找到 这个变化规律,用代码来实现。。。
之前的代码:
public class Solution {
public int titleToNumber(String s) {
int len=s.length();
if(len==0) return 0;
int result=0;
for(char ch: s.toCharArray()){
result= result*26+ ch-'A'+1;
}
return result;
}
}
今天的代码,跟之前的思路一样的,变化规律就是26进制的类似法则。。
public class Solution {
public int titleToNumber(String s) {
// 变化规律,类似26进制: digit = Ch-'A'+ 1; 但是result= pow(result, index)+digit;
int result=0;
int digit=0;
for(int i=0; i<s.length(); i++){
digit= s.charAt(i)-'A'+1;
result=26*result+digit;
}
return result;
}
}