171. Excel Sheet Column Number

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

 

Constraints:

  • 1 <= s.length <= 7
  • s consists only of uppercase English letters.
  • s is between "A" and "FXSHRXW".

Rust Solution

struct Solution;

impl Solution {
    fn title_to_number(s: String) -> i32 {
        s.bytes()
            .fold(0, |sum, c| sum * 26 + i32::from(c) - 'A' as i32 + 1)
    }
}

#[test]
fn test() {
    assert_eq!(Solution::title_to_number("A".to_string()), 1);
    assert_eq!(Solution::title_to_number("AB".to_string()), 28);
    assert_eq!(Solution::title_to_number("ZY".to_string()), 701);
}

Having problems with this solution? Click here to submit an issue on github.