HubSpot Interview Question

Given an array of strings with only lowercase letters, create a function that returns an array of those same strings, but each string has its letters rearranged such that it becomes a palindrome (if possible, if not, return -1).

Interview Answers

Anonymous

Dec 20, 2017

public class Main { public static void main(String[] args) { String ana = "Rats live on no evil star"; System.out.println(new Main().isPalindrome(ana)); } private boolean isPalindrome(String s) { s = s.replaceAll("\\s+","").toLowerCase(); int length = s.length(); if (length < 2) return true; else { if (s.charAt(0) != s.charAt(length - 1)) { return false; } else { return isPalindrome(s.substring(1, length - 1)); } } } }

2

Anonymous

Dec 20, 2017

public static String reverseIt(String source) { int i, len = source.length(); StringBuilder dest = new StringBuilder(len); for (i = (len - 1); i >= 0; i--){ dest.append(source.charAt(i)); } return dest.toString(); }