JIAKAOBO

LeetCode

venmo
wechat

感谢赞助!

  • ㊗️
  • 大家
  • offer
  • 多多!

Problem

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

Code

public int titleToNumber(String s) {
    // ABA
    // result = 1
    // result = 1 * 26 + 2
    // result = (1 * 26 + 2) * 26 + 1
    // result = (1 * 26^2) + (2 * 26^1) + (1 * 26^0)
    int res = 0;
    for(int i = 0 ; i < s.length(); i++) {
        res = res * 26 + (s.charAt(i) - 'A' + 1);
    }
    return res;
}