171. Excel Sheet Column Number (Easy)

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

Letter Number
a1
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

OCaml Solution

 

let explode s = List.init (String.length s) (String.get s)
;;

let char2digits l =
  let t1 = explode l in
  let t2 = List.map (fun x-> Char.code x - (Char.code 'a') + 1) t1 in
  let t3 = List.fold_left (fun x y -> x * 26 + y) 0 t2 in 
  t3
;;

let () = assert (char2digits "a" = 1);;
let () = assert (char2digits "b" = 2);;
let () = assert (char2digits "ab" = 28);;
let () = assert (char2digits "zy" = 701);;