fbpx
String Java Program: Palindrome

String Java Program: Palindrome

Interview Questions

Refer this for preparing yourself on how to write java program to check given string is a Palindrome or not.

Palindrome

public class PalindromeApp {
	public static void main(String[] args) {
		String input = "dad";
		if (PalindromeApp.isPalindrome(input)) {
			System.out.println(String.format("%s is palindrome", input));
		} else {
			System.out.println(String.format("%s is NOT palindrome", input));
		}
	}

	private static Boolean isPalindrome(String input) {
		char[] inputArr = input.toLowerCase().toCharArray();
		char[] reverse = new char[inputArr.length];

		for (int i = 0; i < inputArr.length; i++) {
			reverse[i] = inputArr[(inputArr.length - 1) - i];
		}
		String r = new String(reverse); // String.copyValueOf(reverse);
		return (input.equals(r));
	}
}
JAVA PROGRAM TO PRINT PATTERNS

JAVA PROGRAM TO PRINT PATTERNS

Interview Questions

Refer this for preparing yourself on how to write java program to print patterns (Note: NOT Design Patterns)
  • Start Pattern
  • Number Pattern

Star Pattern

 Print pattern like below, By giving the max length of the print.  (max. length is 5)
(max. length is 5)
public class StarPatternApp {
	public static void main(String[] args) {
		StarPatternApp.printPattern("*", 5);
	}
	private static void printPattern(String pattern, int size) {
		StringBuilder patternBuilder = new StringBuilder();
		for (int i = 1; i <= size; i++) {
			patternBuilder.append(pattern);
			System.out.println(patternBuilder.toString());
		}
		for (int i = size; i > 1; i--) {
			System.out.println(patternBuilder.deleteCharAt(i - 1).toString());
		}
	}

	private static String addSpaceAndPrint(int spaceCount, String printStr) {
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < spaceCount; i++) {
			sb.append("" + i);
		}
		sb.append(printStr);
        	return sb.toString();
	}
}

Number Pattern

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class NumberReducingPatternApp {

    public static void main(String[] args) {
       int n = 5;
       int length = 1;
       List<Integer> numberPatternItems = new ArrayList<>();
       for(int i=n; i>0;i--){
           numberPatternItems.add(listRangeInReverse(n,length));
           length++;
       }

       //This line actually reverst the entire list, so that the expected number pattern is printed
       Collections.reverse(numberPatternItems);
        for(Integer x: numberPatternItems){
            System.out.println(x);
        }
    }

    private static Integer listRangeInReverse(int k, int count) {
        StringBuilder sb = new StringBuilder();
        for (int c = k; c >=count;c--){
            sb.append(c);
        }
        return Integer.parseInt(sb.toString());
    }
}

Just a Note

There are N-ways of writing the above codes, please feel free to explore by playing around it.