0171. Excel Sheet Column Number

https://leetcode.com/problems/excel-sheet-column-number

Description

Given a string columnTitle that represents the 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:** columnTitle = "A"
**Output:** 1

Example 2:

**Input:** columnTitle = "AB"
**Output:** 28

Example 3:

**Input:** columnTitle = "ZY"
**Output:** 701

Example 4:

**Input:** columnTitle = "FXSHRXW"
**Output:** 2147483647

Constraints:

  • 1 <= columnTitle.length <= 7

  • columnTitle consists only of uppercase English letters.

  • columnTitle is in the range ["A", "FXSHRXW"].

ac

class Solution {
    public int titleToNumber(String s) {
        // edge cases
        if (s == null || s.length() == 0) return 0;

        // iterate
        int res = 0;
        for (int i = 0; i < s.length(); i++) {
            char c = Character.toUpperCase(s.charAt(i));
            int val = c - 'A' + 1;
            // not A-Z character
            if (val < 1 || val > 26) return 0;

            res = res * 26 + val;
        }

        return res;
    }
}

Last updated