A top secret message containing letters from
A-Z is being encoded to numbers using the following mapping:
'A' -> 1 'B' -> 2 ... 'Z' -> 26
You are an FBI agent. You have to determine the total number of ways that message can be decoded.
Note: An empty digit sequence is considered to have one decoding. It may be assumed that the input contains valid digits from 0 to 9 and If there are leading 0’s, extra trailing 0’s and two or more consecutive 0’s then it is an invalid string.
Input: str = "123" Output: 3 Explanation: "123" can be decoded as "ABC"(123), "LC"(12 3) and "AW"(1 23).
Input: str = "27" Output: 1 Explanation: "27" can be decoded as "BG".
You don't need to read or print anything. Your task is to complete the function CountWays() which takes the string as str as input parameter and returns the total number of ways the string can be decoded modulo 109 + 7.
Expected Time Complexity: O(n)
Expected Space Complexity: O(n) where n = |str|
1 <= |str| <= 104
We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?Yes