1、输入一个字符串,判断判断这个字符串是否对称 java代码实现
时间: 2024-05-06 08:17:23 浏览: 7
可以使用双指针来判断字符串是否对称,具体实现如下:
```java
public boolean isSymmetric(String s) {
if (s == null || s.length() == 0) {
return true;
}
int left = 0, right = s.length() - 1;
while (left < right) {
if (s.charAt(left) != s.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
```
这里用两个指针left和right从字符串的两端往中间移动,每次比较两个指针所指的字符是否相同,如果不同则返回false,如果一直比较到left >= right,说明字符串是对称的,返回true。
相关问题
输入一个字符串,判断判断这个字符串是否对称 的java代码
可以通过比较字符串的前半部分和后半部分是否相等来判断字符串是否对称。具体的 Java 代码如下:
```java
public class SymmetricString {
public static boolean isSymmetric(String str) {
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str.charAt(i) != str.charAt(len - i - 1)) {
return false;
}
}
return true;
}
public static void main(String[] args) {
String str1 = "abcdeedcba";
String str2 = "abcdeedcbaa";
System.out.println(str1 + " is symmetric? " + isSymmetric(str1));
System.out.println(str2 + " is symmetric? " + isSymmetric(str2));
}
}
```
输出结果为:
```
abcdeedcba is symmetric? true
abcdeedcbaa is symmetric? false
```
用scanner输入一个字符串,判断判断这个字符串是否对称
可以先使用`Scanner`类获取用户输入的字符串,然后再判断字符串是否对称。判断字符串是否对称可以通过将字符串分成两半,然后将其中一半字符串翻转,最后与另一半字符串进行比较,如果相同,则说明该字符串是对称的。
以下是Java代码示例:
```java
import java.util.Scanner;
public class SymmetricString {
public static void main(String[] args) {
// 获取用户输入字符串
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = scanner.nextLine();
// 判断字符串是否对称
if (isSymmetric(str)) {
System.out.println("该字符串是对称的");
} else {
System.out.println("该字符串不是对称的");
}
}
/**
* 判断字符串是否对称
*/
public static boolean isSymmetric(String str) {
int length = str.length();
// 判断字符串长度是否为偶数
if (length % 2 != 0) {
return false;
}
int halfLength = length / 2;
String leftHalf = str.substring(0, halfLength);
String rightHalf = str.substring(halfLength);
// 将左半部分字符串翻转
String reversedLeftHalf = new StringBuilder(leftHalf).reverse().toString();
// 比较左半部分翻转后的字符串和右半部分字符串是否相等
return reversedLeftHalf.equals(rightHalf);
}
}
```
示例输出:
```
请输入一个字符串:
abcba
该字符串是对称的
```