題目:
請實現一個函數,把字符串中的每個空格替換成"20%"。例如輸入"We are happy",則輸出"We%20are%20happy"。
假設原字符串后有足夠的內存空間,不會出現內存踩踏。
解法:
排除另開辟空間的方法。
常規解法是,從頭到尾遍歷,遇到空格時,把空格后面的字符串依次后移。但該種方法會導致某些字符重復移動。
更合適的方法是,先計算出原字符串中有多少空格,然后從尾到頭遍歷,因為一開始就知道被移動字符的最終位置,因此可以避免字符的重復移動。時間復雜度O(n)
題目:
請實現一個函數,把字符串中的每個空格替換成"20%"。例如輸入"We are happy",則輸出"We%20are%20happy"。
假設原字符串后有足夠的內存空間,不會出現內存踩踏。
解法:
排除另開辟空間的方法。
常規解法是,從頭到尾遍歷,遇到空格時,把空格后面的字符串依次后移。但該種方法會導致某些字符重復移動。
更合適的方法是,先計算出原字符串中有多少空格,然后從尾到頭遍歷,因為一開始就知道被移動字符的最終位置,因此可以避免字符的重復移動。時間復雜度O(n)