1309. Decrypt String from Alphabet to Integer Mapping(Solution || Leetcode easy || Java)

Palakkgoyal
1 min readNov 24, 2022

--

You are given a string s formed by digits and '#'. We want to map s to English lowercase characters as follows:

  • Characters ('a' to 'i') are represented by ('1' to '9') respectively.
  • Characters ('j' to 'z') are represented by ('10#' to '26#') respectively.

Return the string formed after mapping.

The test cases are generated so that a unique mapping will always exist.

Example 1:

Input: s = "10#11#12"
Output: "jkab"
Explanation: "j" -> "10#" , "k" -> "11#" , "a" -> "1" , "b" -> "2".

Example 2:

Input: s = "1326#"
Output: "acz"

Constraints:

  • 1 <= s.length <= 1000
  • s consists of digits and the '#' letter.
  • s will be a valid string such that mapping is always possible.

SOLUTION:

class Solution {
public String freqAlphabets(String s) {
//create a stringbuilder, so it will take the same space
//during modification
StringBuilder ans = new StringBuilder();

int i = 0;

while(i < s.length()){
if(i < s.length()-2 && s.charAt(i+2) == '#'){
ans.append((char)((Integer.valueOf(s.substring(i,i+2)))
+ 'a' - 1));
i+=3;
}else{
ans.append((char)((s.charAt(i) - '0') + 'a' - 1));
i++;
}
}

return ans.toString();
}

}

Runtime: 1 ms, faster than 97.12% of Java online submissions for Decrypt String from Alphabet to Integer Mapping.

Memory Usage: 40.3 MB, less than 96.49% of Java online submissions for Decrypt String from Alphabet to Integer Mapping.

Thank you for reading. If you have any queries then, please let me know in the comment section. I will surely be responsive toward it.

--

--

Palakkgoyal
Palakkgoyal

Written by Palakkgoyal

Solutions to all your coding related problems at one point. DSA question on daily basis and much more.

No responses yet