A message of letters is encoded to digits with the mapping A → "1", B → "2", …, Z → "26".
Given a string s of digits, return the number of ways to decode it back into letters.
A single digit "1"–"9" maps to one letter, and a pair "10"–"26" maps to one letter. Crucially, a leading zero is invalid: "0" alone has no letter, and pairs like "06" are not allowed. If the string cannot be decoded at all, return 0. The input is non-empty.
"12""226""06""0""10""2101""111111"