From e4ebc6b08f73f06b00b97f59cd0ec9eaa679d1da Mon Sep 17 00:00:00 2001 From: baiye959 <3383522774@qq.com> Date: Sat, 16 Mar 2024 17:21:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0kama54=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E6=95=B0=E5=AD=97=20Java=20=E7=89=88=E6=9C=AC=20=E8=A7=A3?= =?UTF-8?q?=E6=B3=95=E4=BA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/kama54.替换数字.md | 38 ++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/problems/kama54.替换数字.md b/problems/kama54.替换数字.md index f03e575d..7dc22c0a 100644 --- a/problems/kama54.替换数字.md +++ b/problems/kama54.替换数字.md @@ -142,7 +142,7 @@ for (int i = 0; i < a.size(); i++) { ### C: ### Java: - +解法一 ```java import java.util.Scanner; @@ -160,6 +160,42 @@ class Main { } } ``` +解法二 +```java +// 为了还原题目本意,先把原数组复制到扩展长度后的新数组,然后不再使用原数组、原地对新数组进行操作。 +import java.util.*; + +public class Main { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + String s = sc.next(); + int len = s.length(); + for (int i = 0; i < s.length(); i++) { + if (s.charAt(i) >= 0 && s.charAt(i) <= '9') { + len += 5; + } + } + + char[] ret = new char[len]; + for (int i = 0; i < s.length(); i++) { + ret[i] = s.charAt(i); + } + for (int i = s.length() - 1, j = len - 1; i >= 0; i--) { + if ('0' <= ret[i] && ret[i] <= '9') { + ret[j--] = 'r'; + ret[j--] = 'e'; + ret[j--] = 'b'; + ret[j--] = 'm'; + ret[j--] = 'u'; + ret[j--] = 'n'; + } else { + ret[j--] = ret[i]; + } + } + System.out.println(ret); + } +} +``` ### Go: ````go