Problem 171

Excel Sheet Column Number

Posted by Ruizhi Ma on June 26, 2019

问题描述

Given a column title as appear in an Excel sheet, return its corresponding column number.

For example:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
... Example 1:

Input: “A” Output: 1 Example 2:

Input: “AB” Output: 28 Example 3:

Input: “ZY” Output: 701

解决思路

本质上就是一个27进制数转10进制的问题。(2进制0-1,2的时候进位;8进制1-7,8的时候进位。A-Z,26个字母,第27个时进位)

代码

package leetcode;

public class ExcelSheetColumnNumber {
    public int titleToNumber(String s) {
        int result = 0;

        for (int i = 0; i < s.length(); i++) {
            result = result * 26 + (s.charAt(i) - 'A' + 1);
        }

        return result;
    }
}