替換字元 《劍指offer》

2021-07-26 02:53:20 字數 988 閱讀 3676

題目描述:給定乙個字元陣列,將其中的某一字元替換為其他幾個字元;如we are tf將空格替換為%20,結果為we%20are%20tf(字元陣列後有足夠位置)

分析:如果從前往後替換則一些字元會多次移動浪費時間,如果能一次將其放入位置一定會減少資源利用的

思路:遍歷一遍算出每個字元要移動到的位置,以便一次移動到目標位置

實現:

public static void replaceblack(char s)

length++;

i++;

}if(s==null||length==0)

return;

int last=count*2+length-1,pre=length-1;

while(pre!=last)

else}}

主調函式:

public static void main(string args)

i=0;

while(b[i]!='\0')

last=al+bl-1;

prea=al-1;

preb=bl-1;

if(prea==0||preb==0)

return;

while(prea>=0&&preb>=0)

else

}while(preb>=0)

}

主調函式:

public static void main(string args)

}

結果:1234459000

總結:遇到案例後如果有多次執行乙個操作後到目標狀態,應該想想是否可以一次可以到達目標狀態。

劍指offer 替換字串

思路 如果直接替換,就有可能覆蓋修改在字串後面的記憶體。如果建立新的字串並在新的字串上做替換,我們就可以分配足夠多的記憶體。對於任何乙個函式,我們要做哪些基本的檢測 1.傳入的引數有效性 2.函式體邊界的判斷 3.返回值正確返回 void replaceblank char str,int leng...

劍指Offer 替換字串

我是鏈結 2.題目描述 將乙個空格字元 替換為三個字元 20 需要三個字元的空間,則在第乙個空格後的字元需要後挪 2 1格,第二個空格後的字元需要後挪2 2格,第三個空格後的字元需要後挪3 2格 依此類 推。4.思路 遍歷字串記錄其中的空格個數,最後再根據空格的順序後挪該空格後的字串,同時替換空格 ...

劍指offer 替換空格

思路 首先遍歷字串,找出空格的數量countspace,計算變換後的總長為newlength str.length 2 countspace。定義心得字元陣列,長度為newlength 從字串的後面開始複製和替換,如果不是空格,就複製,如果是空格,就變為 20.難點 牛客網上傳入引數是stringb...