标签:ace eof 传输 nbsp isa pre 遍历 个数 turn
给定一个数组形的字符串。为了网络传输,方便通用型,需求把空格变为 %20。
1 package algorithm; 2 3 /** 4 * Created by adrian.wu on 2019/2/26. 5 */ 6 public class ReplaceSpace { 7 /* 8 先遍历,求出spaceCount数目。 9 1、设定一个指针,P1 10 2、P1指向原始string的尾部。 11 3、从后向前遍历。 12 4、P1遇到字符把字符向后移动,移动的位置为P1+2*spaceCount。 13 5、P1遇到空格则添加对应的字符。然后spaceCount--。 14 */ 15 16 public String replaceSpace(char[] string, int len) { 17 int p1 = len - 1, sc = 0; 18 for (int i = 0; i < len; i++) 19 if (string[i] == ‘ ‘) sc++; 20 21 for (; p1 >= 0; p1--) { 22 if (Character.isAlphabetic(string[p1])) string[p1 + sc * 2] = string[p1]; 23 else { 24 string[p1 + sc * 2] = ‘0‘; 25 string[p1 + sc * 2 - 1] = ‘2‘; 26 string[p1 + sc-- * 2 - 2] = ‘%‘; 27 } 28 } 29 30 return String.valueOf(string); 31 } 32 }
标签:ace eof 传输 nbsp isa pre 遍历 个数 turn
原文地址:https://www.cnblogs.com/ylxn/p/10438184.html