反轉字串
題目描述:編寫一個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列 char[] 的形式給出。
不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列、使用 O(1) 的額外空間解決這一問題。
你可以假設陣列中的所有字元都是 ASCII 碼錶中的可列印字元。
示例說明請見LeetCode官網。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/probl...
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
解法一:陣列遍歷
遍歷s,遍歷順序是0~s.length/2
,將第i
項的值和第s.length-1-i
項的值進行交換。遍歷完成後的s即為反轉後的字串。
public class LeetCode_344 {
public static void reverseString(char[] s) {
for (int i = 0; i < s.length / 2; i++) {
// 第i項和第s.length-1-i項進行交換
char temp = s[i];
s[i] = s[s.length - 1 - i];
s[s.length - 1 - i] = temp;
}
}
public static void main(String[] args) {
char[] s = new char[]{'h', 'e', 'l', 'l', 'o'};
System.out.println("-----反轉之前-----");
for (char c : s) {
System.out.print(c + " ");
}
System.out.println();
reverseString(s);
System.out.println("-----反轉之後-----");
for (char c : s) {
System.out.print(c + " ");
}
}
}
【每日寄語】 每一次的突破都是為了成就更好的自己。