判断字符串是否对称可以通过以下步骤实现:
判断字符串长度是否为偶数,如果为奇数,则不可能对称,直接返回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方法中,分别传入对称和不对称的字符串进行测试。