反轉字符串 題目描述 解題思路

題目描述

難度級別:簡單

編寫一個函數,其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 char[] 的形式給出。

不要給另外的數組分配額外的空間,你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題。

你可以假設數組中的所有字符都是 ASCII 碼錶中的可打印字符。

示例 1:

輸入:["h","e","l","l","o"]
輸出:["o","l","l","e","h"]
示例 2:

輸入:["H","a","n","n","a","h"]
輸出:["h","a","n","n","a","H"]

解題思路

雙指針

使用雙指針,一個指向頭,一個指向尾,兩兩交換,當兩頭指針小於尾指針時停止循環。

const reverseString = function(s) {
    for (let i = 0, j = s.length - 1; i < j; i++, j--)
        [s[i], s[j]] = [s[j], s[i]]
};

時間複雜度:O(n)
空間複雜度:O(1)

題目來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/reverse-string

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章