数组和字符串操作问题

发布: (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");
        }
    }
}
Back to Blog

相关文章

阅读更多 »