LeetCode 字符串替换空格

it2024-12-09  11

题目:

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 class Solution { public String replaceSpace(String s) { } }

方法一:利用Strng自带的函数replaceAll

public static String replaceSpace(String s) { if (s == null || s.length() <= 0) return s; String string = s.replaceAll(" ", "%20"); return string; } 执行用时:4 ms, 在所有 Java 提交中击败了5.29%的用户内存消耗:36.4 MB, 在所有 Java提交中击败了89.81%的用户

方法二:

public static String replaceSpace(String s){ if (s == null || s.length() <= 0) return s; StringBuilder string = new StringBuilder(); for (int i = 0; i < s.length(); i++){ char c = s.charAt(i); if (c == ' '){ string.append("%20"); } else { string.append(c); } } return string.toString(); } 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户内存消耗:36 MB, 在所有 Java提交中击败了99.00%的用户

方法三:

public static String replaceSpace(String s){ if (s == null || s.length() <= 0) return s; char[] newChars = new char[s.length()*3]; int num = 0, newNum = 0; while (num < s.length()){ char c = s.charAt(num); if (c == ' '){ newChars[newNum++] = '%'; newChars[newNum++] = '2'; newChars[newNum++] = '0'; }else { newChars[newNum++] = c; } num++; } String result = new String(newChars, 0, newNum); return result; } 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户内存消耗:36.4 MB, 在所有 Java提交中击败了91.36%的用户
最新回复(0)