編寫一個(gè)函數(shù),其作用是將輸入的字符串反轉(zhuǎn)過來蔫劣。
示例 1:
輸入: "hello"
輸出: "olleh"
示例 2:
輸入: "A man, a plan, a canal: Panama"
輸出: "amanaP :lanac a ,nalp a ,nam A"
思路:
本來的思路是,for循環(huán)從后往前遍歷落追,然后加到String后
結(jié)果應(yīng)該是String操作的耗時(shí)太長(zhǎng)了吐绵,最后TLE了
先改成char數(shù)組慧妄,然后兩頭向中間作互換操作
性能分析:
時(shí)間復(fù)雜度O(N/2)坎穿,空間復(fù)雜度O(1)
具體代碼:
class Solution {
public String reverseString(String s) {
int len = s.length();
//轉(zhuǎn)換為char數(shù)組
char[] str = s.toCharArray();
char tmp;
//兩頭向中間做互換
for(int i = 0; i < len / 2; i++){
//互換操作
tmp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = tmp;
}
//重新轉(zhuǎn)換成字符串
return new String(str);
}
}