> For the complete documentation index, see [llms.txt](https://jaywin.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jaywin.gitbook.io/leetcode/solutions/0171-excel-sheet-column-number.md).

# 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

```java
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;
    }
}
```
