1. 程式人生 > 其它 >leetcode——反轉字串

leetcode——反轉字串

技術標籤:面試C++

題目:

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

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

你可以假設陣列中的所有字元都是 ASCII 碼錶中的可列印字元。
連結:https://leetcode-cn.com/problems/reverse-string

示例:

1、
輸入:["h","e","l","l","o"]
輸出:["o","l","l","e","h"]

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

方案:

class Solution {
public:
    void reverseString(vector<char>& s) {
        int i = 0;
        int j = s.size() - 1;
        for (int i = 0, j = s.size() - 1; i < j; i++, j--) {
            swap(s[i], s[j]);
        }
    }
};

時間複雜度O(n/2)

空間複雜度O(1)