字符串反转并字符递增1功能实现咨询:输入ABDEF输出GFECB
解决字符串反转并字符递增1的问题
首先明确需求的两步逻辑:
- 反转输入的字符串
- 将反转后的每个字符的ASCII值加1,再转回对应字符
以你的输入ABDEF为例:
- 反转后得到
FEDBA - 每个字符加1:F(70)→G(71),E(69)→F(70),D(68)→E(69),B(66)→C(67),A(65)→B(66),最终得到
GFECB
字符递增的核心操作
所有主流编程语言都支持字符与ASCII码的互转,核心逻辑是:
- 获取字符对应的ASCII数值
- 对数值执行加1操作
- 将新数值转回对应字符
下面是几种常用语言的实现示例:
Python 实现
s = "ABDEF" # 反转字符串 reversed_s = s[::-1] # 逐个处理字符递增并拼接结果 result = ''.join([chr(ord(c) + 1) for c in reversed_s]) print(result) # 输出 GFECB
解释:
s[::-1]是Python中快速反转字符串的写法ord(c)获取字符的ASCII码,chr()将递增后的数值转回字符- 用
join()把处理后的字符列表拼接成最终字符串
Java 实现
public class Main { public static void main(String[] args) { String s = "ABDEF"; // 反转字符串 StringBuilder reversedSb = new StringBuilder(s).reverse(); StringBuilder resultSb = new StringBuilder(); for (char c : reversedSb.toString().toCharArray()) { // char本质是数值类型,直接加1后强转回char resultSb.append((char) (c + 1)); } System.out.println(resultSb.toString()); // 输出 GFECB } }
解释:
- 借助
StringBuilder的reverse()方法完成字符串反转 - 遍历反转后的字符,直接对char类型做数值加1运算,再强转回char即可
JavaScript 实现
const s = "ABDEF"; // 反转字符串 const reversedS = s.split('').reverse().join(''); // 处理字符递增并拼接 const result = reversedS.split('').map(c => String.fromCharCode(c.charCodeAt(0) + 1)).join(''); console.log(result); // 输出 GFECB
解释:
split('').reverse().join('')是JS中反转字符串的常规写法charCodeAt(0)获取字符的ASCII码,fromCharCode()将递增后的数值转回字符
注意事项
- 如果输入包含
Z或z,递增后会变成[或{(ASCII码中Z为90,z为122),若需要循环到A/a,需额外添加判断逻辑,比如c === 'Z' ? 'A' : (char)(c+1) - 若输入包含非字母字符,需根据实际需求处理边界情况
内容的提问来源于stack exchange,提问作者Anuj Verma
相关产品推荐
相关产品推荐

