判斷字符串是否對稱可以通過以下步驟實現:
判斷字符串長度是否為偶數,如果為奇數,則不可能對稱,直接返回false。
使用兩個指針,一個指向字符串的首字符,一個指向字符串的尾字符。
比較首尾字符是否相等,如果不相等,則字符串不對稱,返回false。
移動指針,繼續比較下一對字符,直到兩個指針相遇或者中間指針超過了尾指針。
如果所有字符都比較完畢,且都相等,則字符串對稱,返回true。
以下是一個實現示例:
public class StringSymmetry {
public static boolean isSymmetric(String str) {
int len = str.length();
if (len % 2 != 0) {
return false;
}
int left = 0;
int right = len - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
public static void main(String[] args) {
String str1 = "abccba";
String str2 = "abcdba";
System.out.println(isSymmetric(str1)); // 輸出 true
System.out.println(isSymmetric(str2)); // 輸出 false
}
}
在上面的示例中,isSymmetric方法接受一個字符串參數,按照步驟進行判斷,并返回結果。在main方法中,分別傳入對稱和不對稱的字符串進行測試。