From 920ed9c15f3ff7f37956f76c439d5b4e0b37cf44 Mon Sep 17 00:00:00 2001 From: Taranjeet Singh Kalsi Date: Mon, 24 Oct 2022 00:57:46 +0530 Subject: [PATCH 1/5] fixed error and changed functions names fixed error at line 57 and gave semantic names to functions with comments --- .../com/thealgorithms/strings/Palindrome.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/thealgorithms/strings/Palindrome.java b/src/main/java/com/thealgorithms/strings/Palindrome.java index 30a7e08deb0a..79d69bb74c95 100644 --- a/src/main/java/com/thealgorithms/strings/Palindrome.java +++ b/src/main/java/com/thealgorithms/strings/Palindrome.java @@ -11,27 +11,27 @@ class Palindrome { public static void main(String[] args) { String[] palindromes = { null, "", "aba", "123321" }; for (String s : palindromes) { - assert isPalindrome(s) && + assert isPalindromeStringBuilder(s) && isPalindromeRecursion(s) && - isPalindrome1(s); + isPalindromeTwoPointer(s); } String[] notPalindromes = { "abb", "abc", "abc123" }; for (String s : notPalindromes) { - assert !isPalindrome(s) && + assert !isPalindromeStringBuilder(s) && !isPalindromeRecursion(s) && - !isPalindrome1(s); + !isPalindromeTwoPointer(s); } } /** - * Check if a string is palindrome string or not + * Check if a string is palindrome string or not using String Builder * * @param s a string to check * @return {@code true} if given string is palindrome, otherwise * {@code false} */ - public static boolean isPalindrome(String s) { + public static boolean isPalindromeStringBuilder(String s) { return ( (s == null || s.length() <= 1) || s.equals(new StringBuilder(s).reverse().toString()) @@ -54,17 +54,17 @@ public static boolean isPalindromeRecursion(String s) { return false; } - return isPalindrome(s.substring(1, s.length() - 1)); + return isPalindromeRecursion(s.substring(1, s.length() - 1)); } /** - * Check if a string is palindrome string or not another way + * Check if a string is palindrome string or not using two pointer technique * * @param s a string to check * @return {@code true} if given string is palindrome, otherwise * {@code false} */ - public static boolean isPalindrome1(String s) { + public static boolean isPalindromeTwoPointer(String s) { if (s == null || s.length() <= 1) { return true; } From e20c21ca09ffb9dcceda81a6cbbc3f00a65900eb Mon Sep 17 00:00:00 2001 From: Taranjeet Singh Kalsi Date: Mon, 24 Oct 2022 01:03:10 +0530 Subject: [PATCH 2/5] renamed functions renamed functions to match with original functions' names in the file --- .../java/com/thealgorithms/strings/PalindromeTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/java/com/thealgorithms/strings/PalindromeTest.java b/src/test/java/com/thealgorithms/strings/PalindromeTest.java index c98ebc2ae985..6971f44b99d9 100644 --- a/src/test/java/com/thealgorithms/strings/PalindromeTest.java +++ b/src/test/java/com/thealgorithms/strings/PalindromeTest.java @@ -9,11 +9,11 @@ public class PalindromeTest { public void palindrome() { String input1 = "kayak"; String input2 = "kayaks"; - Assertions.assertTrue(Palindrome.isPalindrome(input1)); - Assertions.assertFalse(Palindrome.isPalindrome(input2)); + Assertions.assertTrue(Palindrome.isPalindromeStringBuilder(input1)); + Assertions.assertFalse(Palindrome.isPalindromeStringBuilder(input2)); Assertions.assertTrue(Palindrome.isPalindromeRecursion(input1)); Assertions.assertFalse(Palindrome.isPalindromeRecursion(input2)); - Assertions.assertTrue(Palindrome.isPalindrome1(input1)); - Assertions.assertFalse(Palindrome.isPalindrome1(input2)); + Assertions.assertTrue(Palindrome.isPalindromeTwoPointer(input1)); + Assertions.assertFalse(Palindrome.isPalindromeTwoPointer(input2)); } } From 579cbc392e2d1d0ae1cd2091c0a75ac99c409479 Mon Sep 17 00:00:00 2001 From: Taranjeet Singh Kalsi Date: Wed, 26 Oct 2022 01:45:32 +0530 Subject: [PATCH 3/5] Updated TestCases Updated TestCases and changed a function name --- .../thealgorithms/strings/PalindromeTest.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/test/java/com/thealgorithms/strings/PalindromeTest.java b/src/test/java/com/thealgorithms/strings/PalindromeTest.java index 6971f44b99d9..bd176d929d42 100644 --- a/src/test/java/com/thealgorithms/strings/PalindromeTest.java +++ b/src/test/java/com/thealgorithms/strings/PalindromeTest.java @@ -7,13 +7,20 @@ public class PalindromeTest { @Test public void palindrome() { - String input1 = "kayak"; - String input2 = "kayaks"; - Assertions.assertTrue(Palindrome.isPalindromeStringBuilder(input1)); - Assertions.assertFalse(Palindrome.isPalindromeStringBuilder(input2)); - Assertions.assertTrue(Palindrome.isPalindromeRecursion(input1)); - Assertions.assertFalse(Palindrome.isPalindromeRecursion(input2)); - Assertions.assertTrue(Palindrome.isPalindromeTwoPointer(input1)); - Assertions.assertFalse(Palindrome.isPalindromeTwoPointer(input2)); + + String[] palindromes = { null, "", "aba", "123321", "kayak" }; + for (String s : palindromes) { + Assertions.assertTrue(isPalindrome(s) && + isPalindromeRecursion(s) && + isPalindromeTwoPointer(s)); + } + + String[] notPalindromes = { "abb", "abc", "abc123", "kayaks" }; + for (String s : notPalindromes) { + Assertions.assertFalse(isPalindrome(s) && + !isPalindromeRecursion(s) && + !isPalindromeTwoPointer(s)); + } + } } From 31fb434ab2dba951fc041c0e843241c89aaa853f Mon Sep 17 00:00:00 2001 From: Taranjeet Singh Kalsi Date: Wed, 26 Oct 2022 01:49:07 +0530 Subject: [PATCH 4/5] Removed main() and changed function name Removed main() and changed the function name from isPalindromeStringBuilder to isPalindrome --- .../com/thealgorithms/strings/Palindrome.java | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/src/main/java/com/thealgorithms/strings/Palindrome.java b/src/main/java/com/thealgorithms/strings/Palindrome.java index 79d69bb74c95..0046e5450e69 100644 --- a/src/main/java/com/thealgorithms/strings/Palindrome.java +++ b/src/main/java/com/thealgorithms/strings/Palindrome.java @@ -5,25 +5,6 @@ */ class Palindrome { - /** - * Driver Code - */ - public static void main(String[] args) { - String[] palindromes = { null, "", "aba", "123321" }; - for (String s : palindromes) { - assert isPalindromeStringBuilder(s) && - isPalindromeRecursion(s) && - isPalindromeTwoPointer(s); - } - - String[] notPalindromes = { "abb", "abc", "abc123" }; - for (String s : notPalindromes) { - assert !isPalindromeStringBuilder(s) && - !isPalindromeRecursion(s) && - !isPalindromeTwoPointer(s); - } - } - /** * Check if a string is palindrome string or not using String Builder * @@ -31,7 +12,7 @@ assert isPalindromeStringBuilder(s) && * @return {@code true} if given string is palindrome, otherwise * {@code false} */ - public static boolean isPalindromeStringBuilder(String s) { + public static boolean isPalindrome(String s) { return ( (s == null || s.length() <= 1) || s.equals(new StringBuilder(s).reverse().toString()) From e863f65ad87b4a88a1bd29b4200255fd7f6e0397 Mon Sep 17 00:00:00 2001 From: Taranjeet Singh Kalsi Date: Wed, 26 Oct 2022 01:58:09 +0530 Subject: [PATCH 5/5] fixed typo --- .../com/thealgorithms/strings/PalindromeTest.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/test/java/com/thealgorithms/strings/PalindromeTest.java b/src/test/java/com/thealgorithms/strings/PalindromeTest.java index bd176d929d42..0545cdb9b016 100644 --- a/src/test/java/com/thealgorithms/strings/PalindromeTest.java +++ b/src/test/java/com/thealgorithms/strings/PalindromeTest.java @@ -10,16 +10,16 @@ public void palindrome() { String[] palindromes = { null, "", "aba", "123321", "kayak" }; for (String s : palindromes) { - Assertions.assertTrue(isPalindrome(s) && - isPalindromeRecursion(s) && - isPalindromeTwoPointer(s)); + Assertions.assertTrue(Palindrome.isPalindrome(s) && + Palindrome.isPalindromeRecursion(s) && + Palindrome.isPalindromeTwoPointer(s)); } String[] notPalindromes = { "abb", "abc", "abc123", "kayaks" }; for (String s : notPalindromes) { - Assertions.assertFalse(isPalindrome(s) && - !isPalindromeRecursion(s) && - !isPalindromeTwoPointer(s)); + Assertions.assertFalse(Palindrome.isPalindrome(s) || + Palindrome.isPalindromeRecursion(s) || + Palindrome.isPalindromeTwoPointer(s)); } }