题目描述:把26进制转换成10进制,相当于168的逆转换。
题目链接:171. Excel Sheet Column Number
先看如何把十六进制怎么转换成十进制
十进制转换成其他进制就不断取余数,然后给幂次,而其他进制转成十进制就是相加乘幂次。
java like follow:
public class Solution {
public int titleToNumber(String s) {
int ans = 0;
for (int i = 0; i < s.length(); i++) {
ans += (s.charAt(i) - 'A' + 1) * Math.pow(26, s.length()-i-1);
}
return ans;
}
}
python like follow:
class Solution:
def titleToNumber(self, s):
"""
:type s: str
:rtype: int
"""
ans = 0
power = 0
for ch in s[::-1]:
ans += (ord(ch)-ord('A') + 1) * 26 ** power
power += 1
return ans