A message of digits is encoded with 'A'=1 ... 'Z'=26. Given a digit string `s`, return the number of ways to decode it. A leading zero in any group makes that grouping invalid.