数组和字符串操作问题
发布: (2025年12月13日 GMT+8 04:59)
2 min read
原文: Dev.to
Source: Dev.to
使用另一个数组反转数组
class Main {
public static void main(String[] args) {
int[] num = {10, 11, 12, 13, 14, 15, 16};
System.out.println("Original Array :");
for (int i = 0; i = 0; i--) {
result[j++] = num[i];
}
System.out.println();
System.out.println("Reversed Array :");
// print the resultant array
for (int i = 0; i < result.length; i++) {
System.out.print(result[i] + " ");
}
}
}
原地反转数组(使用交换)
class Main {
public static void main(String[] args) {
int[] num = {10, 11, 12, 13, 14, 15, 16};
System.out.println("Original Array :");
for (int i = 0; i < num.length; i++) {
System.out.print(num[i] + " ");
}
System.out.println();
int left = 0;
int right = num.length - 1;
while (left < right) {
// swap without a temporary variable
num[left] = (num[left] + num[right]) - (num[right] = num[left]);
left++;
right--;
}
System.out.println("Reversed Array :");
for (int i = 0; i < num.length; i++) {
System.out.print(num[i] + " ");
}
}
}
检查字符串是否为回文
回文是一种正着读和倒着读都相同的字符串。
class Main {
public static void main(String[] args) {
String str = "abcdcba";
int left = 0;
int right = str.length() - 1;
boolean flag = true;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
flag = false;
break;
}
left++;
right--;
}
if (flag) {
System.out.println(str + " is a palindrome");
} else {
System.out.println(str + " is not a palindrome");
}
}
}