public class Test {
public static void main(String[] args) {
String str = " Huang Biao jorneyr inhibitory a b";
char[] chars = str.toCharArray();
trim(chars);
}
// 刪除字符串前面的空格,刪除字符串中間單詞間的多個(gè)空格,只留一個(gè)。
// 不重新申請(qǐng)空間,復(fù)雜度O(N)
public static void trim(char[] chars) {
int finalIndex = 0;
int spaceCount = 0;
for (int i = 0; i < chars.length; ++i) {
if (chars[i] != ' ') {
chars[finalIndex] = chars[i];
++finalIndex;
spaceCount = 0;
} else if (chars[i] == ' ' && finalIndex == 0) {
} else if (chars[i] == ' ' && spaceCount == 0) {
chars[finalIndex] = chars[i];
++finalIndex;
++spaceCount;
} else if (chars[i] == ' ' && spaceCount > 0) {
++spaceCount;
}
}
System.out.println(chars);
for (int i = finalIndex; i < chars.length; ++i) {
chars[i] = ' ';
}
System.out.println(chars);
}
}