Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static List<Integer> scatterPalindrome(List<String> strToEvaluate) {
- // Write your code here
- List<Integer> integerNumber = new ArrayList<>();
- for (String str : strToEvaluate) {
- int count = 0;
- for (int i = 0; i < str.length(); i++) {
- for (int j = i; j < str.length(); j++) {
- if (str.substring(i, j+1).length() != 1) {
- count = checkIfPalindrome(str.substring(i, j+1)) ? count + 1 : count;
- }
- else {
- count++;
- }
- }
- }
- integerNumber.add(count);
- }
- return integerNumber;
- }
- public static boolean checkIfPalindrome(String strToCheck) {
- Map<Character, Integer> lettersMap = new HashMap<>();
- for (char c : strToCheck.toCharArray()) {
- if (lettersMap.containsKey(c)) {
- lettersMap.replace(c, lettersMap.get(c) + 1);
- } else {
- lettersMap.put(c, 1);
- }
- }
- int oddNumbers = 0;
- for (Integer x : lettersMap.values()) {
- oddNumbers = x % 2 != 0 ? oddNumbers + 1 : oddNumbers;
- }
- return oddNumbers <= 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement