面試題5:請實現一個函數,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。

來源:互聯網
上載者:User

標籤:rgs   color   ==   bsp   space   log   null   字元   eof   

請實現一個函數,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。

注意從後向前替換,使得時間複雜度為O(n);

public class Main {    public static void main(String[] args) {        Main main01=new Main();        String str=main01.replaceSpace(new StringBuffer("old string"));        System.out.println(str);    }    public String replaceSpace(StringBuffer str) {        if(str==null || str.length()<0){            return null;        }        //求字串的實際長度和空格的數目        int oldStrNum=0,blanckNum=0;        int i=0;        while(i<str.length()){            oldStrNum++;            if(str.charAt(i)==‘ ‘){                blanckNum++;            }            i++;        }        int newStrNum=oldStrNum+2*blanckNum;        int oldStrIndex =oldStrNum-1,                newStrIndex=newStrNum-1;        char newCharArr[]=new char[newStrNum];        while(oldStrIndex>=0){            if(str.charAt(oldStrIndex)==‘ ‘){                newCharArr[newStrIndex--]=‘0‘;                newCharArr[newStrIndex--]=‘2‘;                newCharArr[newStrIndex--]=‘%‘;            }else{                newCharArr[newStrIndex--]=str.charAt(oldStrIndex);            }            oldStrIndex--;        }        String newStr=String.valueOf(newCharArr);        return newStr;    }}

 

面試題5:請實現一個函數,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.