class Solution {
public:
string freqAlphabets(string s) {
}
};
1309. 解码字母到整数映射
给你一个字符串 s
,它由数字('0'
- '9'
)和 '#'
组成。我们希望按下述规则将 s
映射为一些小写英文字符:
'a'
- 'i'
)分别用('1'
- '9'
)表示。'j'
- 'z'
)分别用('10#'
- '26#'
)表示。 返回映射之后形成的新字符串。
题目数据保证映射始终唯一。
示例 1:
输入:s = "10#11#12" 输出:"jkab" 解释:"j" -> "10#" , "k" -> "11#" , "a" -> "1" , "b" -> "2".
示例 2:
输入:s = "1326#" 输出:"acz"
提示:
1 <= s.length <= 1000
s[i]
只包含数字('0'
-'9'
)和 '#'
字符。s
是映射始终存在的有效字符串。原站题解
golang 解法, 执行用时: 0 ms, 内存消耗: 2.6 MB, 提交时间: 2021-06-09 17:37:37
func freqAlphabets(s string) string { var ans string n := len(s) i := 0 for i < n { if i + 2 < n && s[i+2] == '#' { d, _ := strconv.Atoi(s[i:i+2]) ans += string([]byte{byte(d+96)}) i += 3 } else { ans += string([]byte{'0'+s[i]}) i++ } } return ans }