劍指offer02替換空格

2021-10-05 13:30:45 字數 635 閱讀 8510

2020.4.28

這是乙個查詢替換的過程,其實替換在string中有replace,直接就可以實現,但是已給的輸出引數定義是stringbuffer,是沒有replace語句,而且人家讓你程式設計實現,當然不是用現成的語句了。

既然輸入時stringbuffer,可以通過.charat,找到每乙個char,並且stringbuffer大小是可以修改的,所以找到替換需要的表示即可。

還有最後的返回值型別是string。

public static string replacespace(stringbuffer str)else

}string repalcestr = newstr.tostring(); //輸入字串型別是stringbuffer型別,用tostring轉換到string型別;

return repalcestr;

}在牛客上執行成功:

執行記憶體:9548kb

直接用string中replace操作。當然這個只是為了實現而實現,在這裡就別了。

public class solution

}又重新寫了一下,idea上通得過,但是牛客上不行,好吧只能算了。

這是我的理解,可能有理解不對的,歡迎互相交流哦~。

劍指offer02 替換空格

自己寫的 public class solution return str.tostring 思路 1.統計空格個數count 2.設定新的字串長度newlen 原長度 2 count 3.設定兩個指標,indexold和indexnew,分別指向舊陣列末尾和新陣列末尾,從後向前遍歷。有兩種情況 1...

劍指offer 02替換空格

首先我們先算出整個字串的長度,還有總共多少個空格。因為空格只佔乙個位元組,但是 20 佔兩個位元組,所以新的容量是原來字串長度 空格數 2,然後把新的容量與給定的字串總大小作比較,如果大於給定的大小,就說明給的用例出錯了,直接返回。如果沒出錯,從原來字串末尾開始遍歷,如果是空格,則依次附給新字串同時...

劍指offer 02 替換空格

1 統計字串的長度和空格的個數 2 定義兩個指標分別指向原字串的末尾和替換後字串的末尾 3 移動兩指標,遇到空格進行替換,直到兩指標相遇結束 class solution int strlen 0 字串實際長度 int spacenum 0 空格個數 int i 0 while str i 0 st...