summaryrefslogtreecommitdiff
path: root/in_class/cse123-inclass9/IsPalindromeArray.java
blob: 109194d22c4163bcc35b62ff48983e49b06988f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class IsPalindromeArray {
    public static void main(String[] args) {
        System.out.println(isPalindrome(new int[] { 1, 2, 3, 4, 5, 4, 3, 2, 1 }));
        System.out.println(isPalindrome(new int[] { 10, 20, 20, 10 }));
        System.out.println(isPalindrome(new int[] { 1 }));
        System.out.println(isPalindrome(new int[] {}));
        System.out.println(isPalindrome(new int[] { 1, 2, 3, 4, 5 }));
        System.out.println(isPalindrome(new int[] { 1, 2, 5, 3 }));
        System.out.println(isPalindrome(new int[] { 10, 20, 30, 10 }));
    }

    public static boolean isPalindrome(int[] array) {
        return isPalindrome(array, 0, array.length - 1);
    }

    private static boolean isPalindrome(int[] array, int lower, int upper) {
        if (upper - lower < 1) {
            return true;
        } else if (array[lower] != array[upper]) {
            return false;
        } else {
            return isPalindrome(array, lower+1,upper-1);
        }
    }
}