这道题我用了三种解法,都可以在牛客网上通过。
第一种方法比较直观,但是比较麻烦;第二种方法是在第一种方法的基础上改的,也比较直观;第三种方法是我参考网上写的,跟前面两种比较不同
public class Solution {
public String replaceSpace(StringBuffer str) {
//第一种,这种解法比较直观但也比较麻烦,思路是从前往后看,遇到空格就保存空格后面的字符,然后替换掉空格,最后将连接空格后面的字符
/*String st = str.toString();//将StringBuffer转为String
char[] tct = st.toCharArray();//将String转为char数组,并存在char数组中
char[] ct = new char[100];
System.arraycopy(tct,0,ct,0,tct.length);//将tct数组的值赋给ct数组
int n = tct.length;//获取tct数组的长度,也就是输入的字符串中有几个字符
char[] tst = new char[100];//新建一个中间数组,存放空格后面的字符
for(int i = 0;i < n;){
int nn = 0;//nn记录空格后有几个字符
if(ct[i] == ' '