1. 程式人生 > 其它 >原生javascript基礎總結-----02

原生javascript基礎總結-----02

技術標籤:Leetcode之劍指offer字串javaleetcode

題目

請實現一個函式,把字串 s 中的每個空格替換成"%20"。

示例

輸入:s = “We are happy.”
輸出:“We%20are%20happy.”

自己的想法

  • Java中有替換字元的方法:replace("char oldChar","char newChar")
class Solution {
    public String replaceSpace(String s) {
        String news = s.replace
(" ","%20"); return news; } }
  • 還挺快的

在這裡插入圖片描述

  • 這。。。就結束了?這麼簡單,我覺得不太能,再去看看題解~
  • 2021年1月24日21:22:57,果然看了題解,就是不一樣
class Solution {
    public String replaceSpace(String s) {
        int length = s.length();
        //初始化一個字元陣列,乘3是因為,題目中空格變成三個字元(%20),防止改變後,出現越界情況,只是一個虛擬陣列長度
        char[] array =
new char[length*3]; //最後真實的陣列長度 int size = 0; //遍歷字串中的每個字元 for(int i=0;i<length;i++){ if(s.charAt(i)==' '){ //進行拼接 array[size++] = '%'; array[size++] = '2'; array[size++] = '0'; }else{ array[
size++] = s.charAt(i); } } //字元陣列變成字串型別,進行返回 String newStr = new String(array,0,size); return newStr; } }
  • 還行,挺快的也