天天看點

資料結構與算法 - 字元串 - 反轉題目解題思路代碼

題目

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

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

解題思路

1、定義一個tmp變量,用來中轉交換的變量

2、第一個和最後一個交換,第二個和倒數第二個交換,直到長度小于數組長度除以二

代碼

public void reverseString(char[] s) {
    for (int i = 0; i < s.length / 2; i++) {
        char tmp = s[i];
        s[i] = s[s.length - i - 1];
        s[s.length - i - 1] = tmp;
    }
}