ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ ?
Π²ΡΠ²ΠΎΠ΄
true true
true true
false false
package com.javarush.task.task39.task3908;
import java.util.ArrayList;
import java.util.List;
/*
ΠΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π»ΠΈ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ?
*/
public class Solution {
public static void main(String[] args) {
// System.out.println(isPalindromePermutation("abcaacb") + " true");
// System.out.println(isPalindromePermutation("abcaacbabcaacb") + " true");
// System.out.println(isPalindromePermutation("aaavvv") + " false");
// boolean actual = Solution.isPalindromePermutation("abcaacb");
// Assert.assertTrue(actual);
// actual = Solution.isPalindromePermutation("abcaacbabcaacb");
// Assert.assertTrue(actual);
// actual = Solution.isPalindromePermutation("aaavvv");
// Assert.assertFalse(actual);
}
public static boolean isPalindromePermutation(String s) {
String string = s.toLowerCase();
List<Character> thee = new ArrayList<>();
List<Character> list = new ArrayList<>();
int t = 0;
int y = 0;
boolean r = false;
for (int i = 0; i < string.length(); i++) {
Character x = string.charAt(i);
list.add(x);
for (int j = 1; j < string.length(); j++) {
if (x.equals(string.charAt(j))) {
list.add(string.charAt(j));
}
}
if (list.size() % 2 != 0 && thee.size() == 0) {
while (t < list.size()) {
thee.add(list.get(t));
t++;
r = true;
}
}else if (list.size()%2==0){
list.clear();
string = string.replace(x.toString(), "");
r = true;
}
else {
r=false;
}
}
return r;
}
}
// Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
// 1. ΠΠ΅ΡΠΎΠ΄ isPalindromePermutation Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ true, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²Ρ
ΠΎΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ.
// 2. ΠΠ΅ΡΠΎΠ΄ isPalindromePermutation Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ false, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π²Ρ
ΠΎΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ°Π»ΠΈΠ½Π΄ΡΠΎΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
// 3. ΠΠ΅ΡΠΎΠ΄ isPalindromePermutation Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ.
// 4. ΠΠ΅ΡΠΎΠ΄ isPalindromePermutation Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ.