Fixed error in Palindrome.java and gave semantic names to functions (#3643)

* fixed error and changed functions names

fixed error at line 57 and gave semantic names to functions with comments

* renamed functions

renamed functions to match with original functions' names in the file

* Updated TestCases

Updated TestCases and changed a function name

* Removed main() and changed function name

Removed main() and changed the function name from isPalindromeStringBuilder to isPalindrome

* fixed typo

Co-authored-by: Debasish Biswas <debasishbsws.abc@gmail.com>
This commit is contained in:
Taranjeet Singh Kalsi 2022-10-28 00:17:16 +05:30 committed by GitHub
parent acf7a86b96
commit bd267bb7d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 31 deletions

View File

@ -6,26 +6,7 @@ package com.thealgorithms.strings;
class Palindrome {
/**
* Driver Code
*/
public static void main(String[] args) {
String[] palindromes = { null, "", "aba", "123321" };
for (String s : palindromes) {
assert isPalindrome(s) &&
isPalindromeRecursion(s) &&
isPalindrome1(s);
}
String[] notPalindromes = { "abb", "abc", "abc123" };
for (String s : notPalindromes) {
assert !isPalindrome(s) &&
!isPalindromeRecursion(s) &&
!isPalindrome1(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
@ -54,17 +35,17 @@ class Palindrome {
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;
}

View File

@ -7,13 +7,20 @@ public class PalindromeTest {
@Test
public void palindrome() {
String input1 = "kayak";
String input2 = "kayaks";
Assertions.assertTrue(Palindrome.isPalindrome(input1));
Assertions.assertFalse(Palindrome.isPalindrome(input2));
Assertions.assertTrue(Palindrome.isPalindromeRecursion(input1));
Assertions.assertFalse(Palindrome.isPalindromeRecursion(input2));
Assertions.assertTrue(Palindrome.isPalindrome1(input1));
Assertions.assertFalse(Palindrome.isPalindrome1(input2));
String[] palindromes = { null, "", "aba", "123321", "kayak" };
for (String s : palindromes) {
Assertions.assertTrue(Palindrome.isPalindrome(s) &&
Palindrome.isPalindromeRecursion(s) &&
Palindrome.isPalindromeTwoPointer(s));
}
String[] notPalindromes = { "abb", "abc", "abc123", "kayaks" };
for (String s : notPalindromes) {
Assertions.assertFalse(Palindrome.isPalindrome(s) ||
Palindrome.isPalindromeRecursion(s) ||
Palindrome.isPalindromeTwoPointer(s));
}
}
}