From cb2e60af8c4eb38ea356243e789fe7b4fd358e02 Mon Sep 17 00:00:00 2001 From: EFFYLYX <40695879+EFFYLYX@users.noreply.github.com> Date: Tue, 14 Apr 2020 02:58:23 +0100 Subject: [PATCH] =?UTF-8?q?Update=205.=20=E6=9B=BF=E6=8D=A2=E7=A9=BA?= =?UTF-8?q?=E6=A0=BC.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/5. 替换空格.md | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/notes/5. 替换空格.md b/notes/5. 替换空格.md index efe83db6..e09900ef 100644 --- a/notes/5. 替换空格.md +++ b/notes/5. 替换空格.md @@ -51,7 +51,54 @@ public String replaceSpace(StringBuffer str) { } ``` +```java +class Solution { + public String replaceSpace(String s) { + return replaceSB2(s); + } + public String replaceAll(String s){ + return s.replaceAll(" ", "%20"); + } + public String replaceSB2(String s){ + StringBuilder sb = new StringBuilder(); + for( int i = 0; i < s.length(); i++){ + if(s.charAt(i) == ' '){ + sb.append("%20"); + }else{ + sb.append(s.charAt(i)); + } + } + return sb.toString(); + } + public String replaceSB(String s){ + StringBuilder sb = new StringBuilder(s); + + for( int i = 0; i < s.length(); i++){ + if(s.charAt(i) == ' '){ + sb.append("=="); + } + } + + int i = s.length()-1; + int j = sb.length()-1; + while(i=0){ + if(sb.charAt(i) == ' '){ + sb.setCharAt(j--,'0'); + sb.setCharAt(j--,'2'); + sb.setCharAt(j--,'%'); + }else{ + sb.setCharAt(j--,sb.charAt(i)); + } + + i--; + } + return sb.toString(); + + } +} + +```