From cfec26924a6cd6d3193812b9c45abf9692af24b5 Mon Sep 17 00:00:00 2001 From: Priyanshu Date: Sun, 21 Jun 2026 16:57:18 +0530 Subject: [PATCH 1/7] feat: add utility to find lowest base for palindromic numbers and implement palindrome check for singly linked lists --- .../lists}/PalindromeSinglyLinkedList.java | 0 .../com/thealgorithms/{others => maths}/LowestBasePalindrome.java | 0 .../java/com/thealgorithms/{misc => maths}/PalindromePrime.java | 0 .../lists}/PalindromeSinglyLinkedListTest.java | 0 .../thealgorithms/{others => maths}/LowestBasePalindromeTest.java | 0 .../com/thealgorithms/{misc => maths}/PalindromePrimeTest.java | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/thealgorithms/{misc => datastructures/lists}/PalindromeSinglyLinkedList.java (100%) rename src/main/java/com/thealgorithms/{others => maths}/LowestBasePalindrome.java (100%) rename src/main/java/com/thealgorithms/{misc => maths}/PalindromePrime.java (100%) rename src/test/java/com/thealgorithms/{misc => datastructures/lists}/PalindromeSinglyLinkedListTest.java (100%) rename src/test/java/com/thealgorithms/{others => maths}/LowestBasePalindromeTest.java (100%) rename src/test/java/com/thealgorithms/{misc => maths}/PalindromePrimeTest.java (100%) diff --git a/src/main/java/com/thealgorithms/misc/PalindromeSinglyLinkedList.java b/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java similarity index 100% rename from src/main/java/com/thealgorithms/misc/PalindromeSinglyLinkedList.java rename to src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java diff --git a/src/main/java/com/thealgorithms/others/LowestBasePalindrome.java b/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java similarity index 100% rename from src/main/java/com/thealgorithms/others/LowestBasePalindrome.java rename to src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java diff --git a/src/main/java/com/thealgorithms/misc/PalindromePrime.java b/src/main/java/com/thealgorithms/maths/PalindromePrime.java similarity index 100% rename from src/main/java/com/thealgorithms/misc/PalindromePrime.java rename to src/main/java/com/thealgorithms/maths/PalindromePrime.java diff --git a/src/test/java/com/thealgorithms/misc/PalindromeSinglyLinkedListTest.java b/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java similarity index 100% rename from src/test/java/com/thealgorithms/misc/PalindromeSinglyLinkedListTest.java rename to src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java diff --git a/src/test/java/com/thealgorithms/others/LowestBasePalindromeTest.java b/src/test/java/com/thealgorithms/maths/LowestBasePalindromeTest.java similarity index 100% rename from src/test/java/com/thealgorithms/others/LowestBasePalindromeTest.java rename to src/test/java/com/thealgorithms/maths/LowestBasePalindromeTest.java diff --git a/src/test/java/com/thealgorithms/misc/PalindromePrimeTest.java b/src/test/java/com/thealgorithms/maths/PalindromePrimeTest.java similarity index 100% rename from src/test/java/com/thealgorithms/misc/PalindromePrimeTest.java rename to src/test/java/com/thealgorithms/maths/PalindromePrimeTest.java From 98fbea962e482075f3a5054c1a673e8b9714ec49 Mon Sep 17 00:00:00 2001 From: Priyanshu Date: Sun, 21 Jun 2026 16:58:06 +0530 Subject: [PATCH 2/7] feat: add palindrome check for linked lists and find lowest base palindrome implementation --- .../datastructures/lists/PalindromeSinglyLinkedList.java | 2 +- .../java/com/thealgorithms/maths/LowestBasePalindrome.java | 2 +- src/main/java/com/thealgorithms/maths/PalindromePrime.java | 2 +- .../java/com/thealgorithms/stacks/PalindromeWithStack.java | 7 +++++++ src/main/java/com/thealgorithms/strings/Palindrome.java | 7 +++++++ .../lists/PalindromeSinglyLinkedListTest.java | 2 +- .../com/thealgorithms/maths/LowestBasePalindromeTest.java | 2 +- .../java/com/thealgorithms/maths/PalindromePrimeTest.java | 2 +- 8 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java b/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java index c81476eaec32..44fcb6e4d6ea 100644 --- a/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java +++ b/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java @@ -1,4 +1,4 @@ -package com.thealgorithms.misc; +package com.thealgorithms.datastructures.lists; import java.util.Stack; diff --git a/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java b/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java index a3ca8d6f6db8..9490984719f1 100644 --- a/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java +++ b/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java @@ -1,4 +1,4 @@ -package com.thealgorithms.others; +package com.thealgorithms.maths; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/thealgorithms/maths/PalindromePrime.java b/src/main/java/com/thealgorithms/maths/PalindromePrime.java index 164e957a9d12..5fc650a3de9b 100644 --- a/src/main/java/com/thealgorithms/maths/PalindromePrime.java +++ b/src/main/java/com/thealgorithms/maths/PalindromePrime.java @@ -1,4 +1,4 @@ -package com.thealgorithms.misc; +package com.thealgorithms.maths; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/thealgorithms/stacks/PalindromeWithStack.java b/src/main/java/com/thealgorithms/stacks/PalindromeWithStack.java index 98c439341a21..7afe2c99aae8 100644 --- a/src/main/java/com/thealgorithms/stacks/PalindromeWithStack.java +++ b/src/main/java/com/thealgorithms/stacks/PalindromeWithStack.java @@ -8,6 +8,13 @@ * which we will pop one-by-one to create the string in reverse. * * Reference: https://www.geeksforgeeks.org/check-whether-the-given-string-is-palindrome-using-stack/ + * + * @see com.thealgorithms.strings.Palindrome + * @see com.thealgorithms.bitmanipulation.BinaryPalindromeCheck + * @see com.thealgorithms.maths.LowestBasePalindrome + * @see com.thealgorithms.datastructures.lists.PalindromeSinglyLinkedList + * @see com.thealgorithms.maths.PalindromePrime + * @see com.thealgorithms.maths.PalindromeNumber */ public class PalindromeWithStack { private LinkedList stack; diff --git a/src/main/java/com/thealgorithms/strings/Palindrome.java b/src/main/java/com/thealgorithms/strings/Palindrome.java index 3567a371d70e..64de657df359 100644 --- a/src/main/java/com/thealgorithms/strings/Palindrome.java +++ b/src/main/java/com/thealgorithms/strings/Palindrome.java @@ -2,6 +2,13 @@ /** * Wikipedia: https://en.wikipedia.org/wiki/Palindrome + * + * @see com.thealgorithms.stacks.PalindromeWithStack + * @see com.thealgorithms.bitmanipulation.BinaryPalindromeCheck + * @see com.thealgorithms.maths.LowestBasePalindrome + * @see com.thealgorithms.datastructures.lists.PalindromeSinglyLinkedList + * @see com.thealgorithms.maths.PalindromePrime + * @see com.thealgorithms.maths.PalindromeNumber */ final class Palindrome { private Palindrome() { diff --git a/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java b/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java index 0f0577d39094..5241c7c8c703 100644 --- a/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java +++ b/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java @@ -1,4 +1,4 @@ -package com.thealgorithms.misc; +package com.thealgorithms.datastructures.lists; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/src/test/java/com/thealgorithms/maths/LowestBasePalindromeTest.java b/src/test/java/com/thealgorithms/maths/LowestBasePalindromeTest.java index 7c3ce6635aa0..5a3d1c64b379 100644 --- a/src/test/java/com/thealgorithms/maths/LowestBasePalindromeTest.java +++ b/src/test/java/com/thealgorithms/maths/LowestBasePalindromeTest.java @@ -1,4 +1,4 @@ -package com.thealgorithms.others; +package com.thealgorithms.maths; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/test/java/com/thealgorithms/maths/PalindromePrimeTest.java b/src/test/java/com/thealgorithms/maths/PalindromePrimeTest.java index 130cd19b47b1..2405da558700 100644 --- a/src/test/java/com/thealgorithms/maths/PalindromePrimeTest.java +++ b/src/test/java/com/thealgorithms/maths/PalindromePrimeTest.java @@ -1,4 +1,4 @@ -package com.thealgorithms.misc; +package com.thealgorithms.maths; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; From 1f0bfbbb1ff4831c5ee2bea06d757f3bdbfaaaa0 Mon Sep 17 00:00:00 2001 From: Priyanshu Date: Sun, 21 Jun 2026 16:58:14 +0530 Subject: [PATCH 3/7] feat: add utility to check if an integer's binary representation is a palindrome --- .../bitmanipulation/BinaryPalindromeCheck.java | 6 ++++++ .../java/com/thealgorithms/maths/LowestBasePalindrome.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/com/thealgorithms/bitmanipulation/BinaryPalindromeCheck.java b/src/main/java/com/thealgorithms/bitmanipulation/BinaryPalindromeCheck.java index 0d6fd140c720..5038d44079ec 100644 --- a/src/main/java/com/thealgorithms/bitmanipulation/BinaryPalindromeCheck.java +++ b/src/main/java/com/thealgorithms/bitmanipulation/BinaryPalindromeCheck.java @@ -9,6 +9,12 @@ *

* * @author Hardvan + * @see com.thealgorithms.strings.Palindrome + * @see com.thealgorithms.stacks.PalindromeWithStack + * @see com.thealgorithms.maths.LowestBasePalindrome + * @see com.thealgorithms.datastructures.lists.PalindromeSinglyLinkedList + * @see com.thealgorithms.maths.PalindromePrime + * @see com.thealgorithms.maths.PalindromeNumber */ public final class BinaryPalindromeCheck { private BinaryPalindromeCheck() { diff --git a/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java b/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java index 9490984719f1..4a79b4298fc4 100644 --- a/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java +++ b/src/main/java/com/thealgorithms/maths/LowestBasePalindrome.java @@ -23,6 +23,12 @@ * * @see OEIS A016026 - Smallest base in which * n is palindromic + * @see com.thealgorithms.strings.Palindrome + * @see com.thealgorithms.stacks.PalindromeWithStack + * @see com.thealgorithms.bitmanipulation.BinaryPalindromeCheck + * @see com.thealgorithms.datastructures.lists.PalindromeSinglyLinkedList + * @see com.thealgorithms.maths.PalindromePrime + * @see com.thealgorithms.maths.PalindromeNumber * @author TheAlgorithms Contributors */ public final class LowestBasePalindrome { From 0658e7bab96463223f8e116834d7ff1c6b2cd673 Mon Sep 17 00:00:00 2001 From: Priyanshu Date: Sun, 21 Jun 2026 16:58:27 +0530 Subject: [PATCH 4/7] feat: add algorithm to check if a singly linked list is a palindrome --- .../lists/PalindromeSinglyLinkedList.java | 7 +++++++ .../java/com/thealgorithms/maths/PalindromePrime.java | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java b/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java index 44fcb6e4d6ea..7bb16921b9ef 100644 --- a/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java +++ b/src/main/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedList.java @@ -9,6 +9,13 @@ * * See more: * https://www.geeksforgeeks.org/function-to-check-if-a-singly-linked-list-is-palindrome/ + * + * @see com.thealgorithms.strings.Palindrome + * @see com.thealgorithms.stacks.PalindromeWithStack + * @see com.thealgorithms.bitmanipulation.BinaryPalindromeCheck + * @see com.thealgorithms.maths.LowestBasePalindrome + * @see com.thealgorithms.maths.PalindromePrime + * @see com.thealgorithms.maths.PalindromeNumber */ @SuppressWarnings("rawtypes") public final class PalindromeSinglyLinkedList { diff --git a/src/main/java/com/thealgorithms/maths/PalindromePrime.java b/src/main/java/com/thealgorithms/maths/PalindromePrime.java index 5fc650a3de9b..21b76acefee8 100644 --- a/src/main/java/com/thealgorithms/maths/PalindromePrime.java +++ b/src/main/java/com/thealgorithms/maths/PalindromePrime.java @@ -3,6 +3,17 @@ import java.util.ArrayList; import java.util.List; +/** + * A class to check and generate palindromic prime numbers. + * A palindromic prime is a prime number that is also a palindromic number. + * + * @see com.thealgorithms.strings.Palindrome + * @see com.thealgorithms.stacks.PalindromeWithStack + * @see com.thealgorithms.bitmanipulation.BinaryPalindromeCheck + * @see com.thealgorithms.maths.LowestBasePalindrome + * @see com.thealgorithms.datastructures.lists.PalindromeSinglyLinkedList + * @see com.thealgorithms.maths.PalindromeNumber + */ public final class PalindromePrime { private PalindromePrime() { } From ef766e77cea89a7da033488bd6612c707ac18426 Mon Sep 17 00:00:00 2001 From: Priyanshu Date: Sun, 21 Jun 2026 16:58:37 +0530 Subject: [PATCH 5/7] feat: add PalindromeNumber utility class to check for palindromic integers --- .../com/thealgorithms/maths/PalindromeNumber.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/com/thealgorithms/maths/PalindromeNumber.java b/src/main/java/com/thealgorithms/maths/PalindromeNumber.java index a22d63897b37..9543f83332a7 100644 --- a/src/main/java/com/thealgorithms/maths/PalindromeNumber.java +++ b/src/main/java/com/thealgorithms/maths/PalindromeNumber.java @@ -1,5 +1,16 @@ package com.thealgorithms.maths; +/** + * A class to check if a given number is a palindrome. + * A palindromic number is a number that remains the same when its digits are reversed. + * + * @see com.thealgorithms.strings.Palindrome + * @see com.thealgorithms.stacks.PalindromeWithStack + * @see com.thealgorithms.bitmanipulation.BinaryPalindromeCheck + * @see com.thealgorithms.maths.LowestBasePalindrome + * @see com.thealgorithms.datastructures.lists.PalindromeSinglyLinkedList + * @see com.thealgorithms.maths.PalindromePrime + */ public final class PalindromeNumber { private PalindromeNumber() { } From e9d52358cc2f66e8e638b3b562805583e661f719 Mon Sep 17 00:00:00 2001 From: Priyanshu Date: Sun, 21 Jun 2026 17:27:30 +0530 Subject: [PATCH 6/7] style: remove redundant import to fix checkstyle error --- .../datastructures/lists/PalindromeSinglyLinkedListTest.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java b/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java index 5241c7c8c703..897d0705bea9 100644 --- a/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java +++ b/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java @@ -2,8 +2,6 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; - -import com.thealgorithms.datastructures.lists.SinglyLinkedList; import org.junit.jupiter.api.Test; public class PalindromeSinglyLinkedListTest { From 1c68b098400d05d47c1f61d277e580e78ef80baf Mon Sep 17 00:00:00 2001 From: Priyanshu Date: Sun, 21 Jun 2026 17:32:52 +0530 Subject: [PATCH 7/7] style: add blank line between static and non-static imports --- .../datastructures/lists/PalindromeSinglyLinkedListTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java b/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java index 897d0705bea9..10f6b8536b19 100644 --- a/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java +++ b/src/test/java/com/thealgorithms/datastructures/lists/PalindromeSinglyLinkedListTest.java @@ -2,6 +2,7 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; + import org.junit.jupiter.api.Test; public class PalindromeSinglyLinkedListTest {