【发布时间】:2020-08-03 01:57:56
【问题描述】:
我正在编写将罗马数字转换为十进制数字的代码。
我想知道这条线是否可以优化?
String s = "MCMXCIV";
String code = s.replaceAll("I", "a")
.replaceAll("V", "b")
.replaceAll("X", "c")
.replaceAll("L", "d")
.replaceAll("C", "e")
.replaceAll("D", "f")
.replaceAll("M", "g");
code 的预期值:gegceab
编辑 1:可以用更短的方式编写相同的代码吗?
编辑 2:
我想要的两个条件
- 避免昂贵的字符串连接
- 用
O(1)中的对应代码替换每个字符
【问题讨论】:
-
我想不出办法让它变得更容易。为什么?
-
@DangNguyen 不,它没有。
标签: java replaceall