Skip to content

Commit cfdbc41

Browse files
authored
Cleanup PalindromeSinglyLinkedList (TheAlgorithms#4336)
1 parent 657e856 commit cfdbc41

File tree

2 files changed

+20
-25
lines changed

2 files changed

+20
-25
lines changed

src/main/java/com/thealgorithms/misc/PalindromeSinglyLinkedList.java

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,39 +11,23 @@
1111
* See more:
1212
* https://www.geeksforgeeks.org/function-to-check-if-a-singly-linked-list-is-palindrome/
1313
*/
14-
public class PalindromeSinglyLinkedList {
15-
16-
public static void main(String[] args) {
17-
SinglyLinkedList linkedList = new SinglyLinkedList();
18-
19-
linkedList.insertHead(3);
20-
linkedList.insertNth(2, 1);
21-
linkedList.insertNth(1, 2);
22-
linkedList.insertNth(2, 3);
23-
linkedList.insertNth(3, 4);
24-
25-
if (isPalindrome(linkedList)) {
26-
System.out.println("It's a palindrome list");
27-
} else {
28-
System.out.println("It's NOT a palindrome list");
29-
}
14+
public final class PalindromeSinglyLinkedList {
15+
private PalindromeSinglyLinkedList() {
3016
}
3117

32-
public static boolean isPalindrome(SinglyLinkedList linkedList) {
33-
boolean ret = true;
18+
public static boolean isPalindrome(final SinglyLinkedList linkedList) {
3419
Stack<Integer> linkedListValues = new Stack<>();
3520

36-
for (int i = 0; i < linkedList.size(); i++) {
37-
linkedListValues.push(linkedList.getNth(i));
21+
for (final var x : linkedList) {
22+
linkedListValues.push(x);
3823
}
3924

40-
for (int i = 0; i < linkedList.size(); i++) {
41-
if (linkedList.getNth(i) != linkedListValues.pop()) {
42-
ret = false;
43-
break;
25+
for (final var x : linkedList) {
26+
if (x != linkedListValues.pop()) {
27+
return false;
4428
}
4529
}
4630

47-
return ret;
31+
return true;
4832
}
4933
}

src/test/java/com/thealgorithms/misc/PalindromeSinglyLinkedListTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,17 @@ public void testWithListWithOddLengthPositive() {
2828
assertTrue(PalindromeSinglyLinkedList.isPalindrome(exampleList));
2929
}
3030

31+
@Test
32+
public void testWithListWithOddLengthPositive2() {
33+
var exampleList = new SinglyLinkedList();
34+
exampleList.insert(3);
35+
exampleList.insert(2);
36+
exampleList.insert(1);
37+
exampleList.insert(2);
38+
exampleList.insert(3);
39+
assertTrue(PalindromeSinglyLinkedList.isPalindrome(exampleList));
40+
}
41+
3142
@Test
3243
public void testWithListWithEvenLengthPositive() {
3344
var exampleList = new SinglyLinkedList();

0 commit comments

Comments
 (0)