Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 452f28c

Browse files
author
Ram swaroop
committed
IsPalindrome done
1 parent 90d6777 commit 452f28c

File tree

5 files changed

+53
-3
lines changed

5 files changed

+53
-3
lines changed

src/me/ramswaroop/linkedlists/DeleteNode.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ public void deleteNode(SingleLinkedNode<E> node) {
2020

2121
public static void main(String a[]) {
2222
DeleteNode<Integer> linkedList = new DeleteNode<>();
23-
linkedList.add(34);
24-
linkedList.add(64);
25-
linkedList.add(43);
23+
linkedList.add(00);
24+
linkedList.add(11);
25+
linkedList.add(22);
2626
linkedList.printList();
2727
linkedList.deleteNode(linkedList.getNode(1));
2828
linkedList.printList();

src/me/ramswaroop/linkedlists/DetectLoop.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public boolean isLoopPresentUsingHashMap(SingleLinkedNode<E> node) {
6666

6767
public static void main(String a[]) {
6868
DetectLoop<Integer> linkedList = new DetectLoop<>();
69+
linkedList.add(00);
6970
linkedList.add(11);
7071
linkedList.add(22);
7172
linkedList.add(33);
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package me.ramswaroop.linkedlists;
2+
3+
import me.ramswaroop.common.SingleLinkedList;
4+
import me.ramswaroop.common.SingleLinkedNode;
5+
6+
/**
7+
* Created by IntelliJ IDEA.
8+
*
9+
* @author: ramswaroop
10+
* @date: 6/18/15
11+
* @time: 2:35 PM
12+
*/
13+
public class IsPalindrome<E> extends SingleLinkedList<E> {
14+
15+
/**
16+
* Recursive function to test whether a linked list
17+
* is palindrome or not.
18+
* <p/>
19+
* NOTE: This method moves the head reference. (disadvantage)
20+
*
21+
* @param node
22+
* @return
23+
*/
24+
public boolean isPalindrome(SingleLinkedNode<E> node) {
25+
if (node == null) return true;
26+
27+
boolean isPalindrome = isPalindrome(node.next);
28+
29+
if (head.item == node.item) {
30+
head = head.next;
31+
return isPalindrome;
32+
} else {
33+
return false;
34+
}
35+
}
36+
37+
public static void main(String a[]) {
38+
IsPalindrome<Integer> linkedList = new IsPalindrome<>();
39+
linkedList.add(00);
40+
linkedList.add(11);
41+
linkedList.add(22);
42+
linkedList.add(11);
43+
linkedList.add(00);
44+
linkedList.printList();
45+
System.out.println(linkedList.isPalindrome(linkedList.getNode(0)));
46+
}
47+
}

src/me/ramswaroop/linkedlists/MiddleNode.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public SingleLinkedNode<E> getMiddleNode(SingleLinkedNode<E> node) {
2424

2525
public static void main(String a[]) {
2626
MiddleNode<Integer> linkedList = new MiddleNode<>();
27+
linkedList.add(00);
2728
linkedList.add(11);
2829
linkedList.add(22);
2930
linkedList.add(33);

src/me/ramswaroop/linkedlists/NthNodeFromLast.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public SingleLinkedNode<E> getNthNodeFromLast(SingleLinkedNode<E> node, int n) {
2929

3030
public static void main(String a[]) {
3131
NthNodeFromLast<Integer> linkedList = new NthNodeFromLast<>();
32+
linkedList.add(00);
3233
linkedList.add(11);
3334
linkedList.add(22);
3435
linkedList.add(33);

0 commit comments

Comments
 (0)