空格替换_O(n)方法
生活随笔
收集整理的這篇文章主要介紹了
空格替换_O(n)方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.需求及分析
實現(xiàn)一個函數(shù),把字符串中的每個空格替換成“%20”。例如輸入“we are happy”,則輸出“we%20are%20happy”。
在網(wǎng)絡(luò)編程中,如果URL參數(shù)中含有特殊字符,如空格、‘#’等,可能導(dǎo)致服務(wù)器端無法獲得正確的參數(shù)值。此時需要考慮將特殊符號轉(zhuǎn)換為服務(wù)器可以識別的字符。轉(zhuǎn)換的規(guī)則是在‘%’后面跟上ASCII碼的兩位16進(jìn)制的表示。比如空格的ASCII碼是32,即十六進(jìn)制的0x20,因此空格就換被替換成‘%20’。
2.O(n)的解決方案
- 遍歷字符串,統(tǒng)計字符串的長度,空格的數(shù)量;
- 初始化替換后字符串的長度(=原始字符串長度+空格的數(shù)量*2);
- 初始化兩個指針,指針p1指向原始字符串末端;指針p2指向新字符串末端;
- 終止條件:p1 p2同時指向字符串首地址。
總結(jié)
以上是生活随笔為你收集整理的空格替换_O(n)方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visual Studio 调试器---
- 下一篇: 树与搜索