1. 程式人生 > >【JS】344. 反轉字串 #字串 #雙指標 Easy

【JS】344. 反轉字串 #字串 #雙指標 Easy

編寫一個函式,其作用是將輸入的字串反轉過來。

輸入: “hello” ,輸出: “olleh”
輸入: “A man, a plan, a canal: Panama” , 輸出: “amanaP :lanac a ,nalp a ,nam A”



解法一:

使用 for 迴圈,從最後一個字元開始拼接

不過測試速度看起來不怎麼快

var reverseString = function(s) {
    var str=''
     for(let i=s.length-1;i>-1;i--) {       
        str+=s[i]
     }
     
    return str;
}

執行用時:116 ms
已經戰勝 47.56 % 的 javascript 提交記錄


解法二:

使用2個空字串接收,一個從末尾開始,一個從前面開始。遍歷步驟比上面少了2/1


var reverseString = function(s) {

    var str='' ,str2='', len=s.length
     for(let i=len-1,j=0;i>-1;i--,j++) {
        if(j<i){
            str+=s[i]
            str2=s[j]+str2
        }else if(j==i){
            str+=s[i]
        }else{
            break;
        }
     }
     
    return str+str2;
}

執行用時:92 ms
已經戰勝 92.05 % 的 javascript 提交記錄