您現在的位置是:首頁 > 運動

JZ-002-替換空格

由 雄獅虎豹 發表于 運動2021-12-22
簡介append(str

空白處如何替換

替換空格

題目描述

請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy。則經過替換之後的字串為We%20Are%20Happy。

題目連結: https://www。nowcoder。com/practice/4060ac7e3e404ad1a894ef3e17650423?tpId=13&tags=&title=&diffculty=0&judgeStatus=0&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking

程式碼

public class Jz02 { public static void main(String[] args) { StringBuffer strTest = new StringBuffer(“We Are Happy”); System。out。println(replaceSpace(strTest)); StringBuffer strTest2 = new StringBuffer(“We Are Happy”); System。out。println(replaceSpace1(strTest2)); } /** * 遍歷每一個字元,替換空格 * * @param str * @return */ public static String replaceSpace(StringBuffer str) { StringBuffer str1 = new StringBuffer(“”); for (int i = 0; i < str。length(); i++) { if (‘ ’ == str。charAt(i)) { str1。append(“%20”); } else { str1。append(str。charAt(i)); } } return str1。toString(); } /** * 先填充空格,再遍歷字元填充替換的字元 * @param str * @return */ public static String replaceSpace1(StringBuffer str) { int p1 = str。length() - 1; // 每一個空格再往後填充2個空格,當遇到空格時就有3個位置替換成 %20 for (int i = 0; i <= p1; i++) { if (str。charAt(i) == ‘ ’) { str。append(“ ”); } } int p2 = str。length() - 1; while (p1 >= 0 && p2 > p1) { char c = str。charAt(p1——); // 當遍歷到第一個空格時,將連續的3個空格替換成 %20 if (c == ‘ ’) { str。setCharAt(p2——, ‘0’); str。setCharAt(p2——, ‘2’); str。setCharAt(p2——, ‘%’); } else { str。setCharAt(p2——, c); } } return str。toString(); }}

【每日寄語】 腳步不停,初心不變。

推薦文章