题目描述:把26进制转换成10进制,相当于168的逆转换。
题目链接:171. Excel Sheet Column Number

先看如何把十六进制怎么转换成十进制

Leetcode 171. Excel Sheet Column
十进制转换成其他进制就不断取余数,然后给幂次,而其他进制转成十进制就是相加乘幂次。

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

相关文章: