题目地址:
https://www.lintcode.com/problem/reverse-ascii-encoded-strings/description
给定一个数字组成的字符串,其是若干大写字母组成的字符串将每个字母替换为其ASCII码组成。要求将其解成大写字母的字符串,并翻转。
直接两个字符两个字符解出来即可。代码如下:
public class Solution {
/**
* @param encodeString: an encode string
* @return: a reversed decoded string
*/
public String reverseAsciiEncodedString(String encodeString) {
// Write your code here
StringBuilder sb = new StringBuilder();
for (int i = 0; i < encodeString.length(); i += 2) {
char t = encodeString.charAt(i), g = encodeString.charAt(i + 1);
sb.append((char) ((t - '0') * 10 + g - '0'));
}
return sb.reverse().toString();
}
}
时空复杂度 O ( n ) O(n) O(n), n n n为字符串长度。