ID | Title | Difficulty | |
---|---|---|---|
Loading... |
423. Reconstruct Original Digits from English
Medium
LeetCode
Hash Table, Math, String
Problem
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"
Code
class Solution {
public String originalDigits(String s) {
int[] count = new int[10];
for (int i = 0; i < s.length(); i++){
char c = s.charAt(i);
if (c == 'z') count[0]++; // 0
if (c == 'o') count[1]++; // 1-0-2-4
if (c == 'w') count[2]++; // 2
if (c == 'h') count[3]++; // 3-8
if (c == 'u') count[4]++; // 4
if (c == 'f') count[5]++; // 5-4
if (c == 'x') count[6]++; // 6
if (c == 's') count[7]++; // 7-6
if (c == 'g') count[8]++; // 8
if (c == 'i') count[9]++; // 9-8-5-6
}
count[7] -= count[6]; // 在数7的时候把6也数了一遍
count[5] -= count[4]; // 在数5的时候把4也数了一遍
count[3] -= count[8]; // 在数3的时候把8也数了一遍
count[9] = count[9] - count[8] - count[5] - count[6];
count[1] = count[1] - count[0] - count[2] - count[4];
StringBuilder sb = new StringBuilder();
for(int i = 0; i <= 9; i++){
for(int j = 0; j < count[i]; j++){
sb.append(i);
}
}
return sb.toString();
}
}
按 <- 键看上一题!
422. Valid Word Square
按 -> 键看下一题!
424. Longest Repeating Character Replacement