Leetcode•May 07, 2026
Reconstruct Original Digits from English
Hazrat Ali
Leetcode
Given a string s containing an out-of-order English representation of digits 0-9, return the digits in ascending order.
Example 1:
Input: s = "owoztneoer" Output: "012"
Example 2:
Input: s = "fviefuro" Output: "45"
Constraints:
1 <= s.length <= 105s[i]is one of the characters["e","g","f","i","h","o","n","s","r","u","t","w","v","x","z"].sis guaranteed to be valid.
Solution
var originalDigits = function(s) {
let count = new Array(26).fill(0);
for (let ch of s) {
count[ch.charCodeAt(0) - 97]++;
}
let digits = new Array(10).fill(0);
digits[0] = count['z'.charCodeAt(0) - 97];
digits[2] = count['w'.charCodeAt(0) - 97];
digits[4] = count['u'.charCodeAt(0) - 97];
digits[6] = count['x'.charCodeAt(0) - 97];
digits[8] = count['g'.charCodeAt(0) - 97];
digits[3] = count['h'.charCodeAt(0) - 97] - digits[8];
digits[5] = count['f'.charCodeAt(0) - 97] - digits[4];
digits[7] = count['s'.charCodeAt(0) - 97] - digits[6];
digits[1] = count['o'.charCodeAt(0) - 97]
- digits[0]
- digits[2]
- digits[4];
digits[9] = count['i'.charCodeAt(0) - 97]
- digits[5]
- digits[6]
- digits[8];
let result = "";
for (let i = 0; i <= 9; i++) {
result += i.toString().repeat(digits[i]);
}
return result;
};