Trace s = "1206".
dp[0] = 1. s[0] = '1', not '0', so dp[1] = 1.
i = 2: s[1] = '2', valid single digit, dp[2] += dp[1] = 1. s[0..1] = "12", valid pair (), dp[2] += dp[0] = 1. dp[2] = 2.
i = 3: s[2] = '0', can't use as single digit. s[1..2] = "20", valid pair (), dp[3] += dp[1] = 1. dp[3] = 1.
i = 4: s[3] = '6', valid single, dp[4] += dp[3] = 1. s[2..3] = "06", not valid (06 < 10). dp[4] = 1.
Answer: . The only decoding is "1-20-6" → "ATF".
You fill DP entries with work each: time. You keep only the last values: space.