public class Node<T> {
Node next;
T data;
Node(T data, Node next) {
this.data = data;
this.next = next;
}
}
class SinglyLinkedList<T> {
Node<T> head;
SinglyLinkedList(Node<T> head) {
this.head = head;
}
public int size() {
Node<T> node = head;
int size = 1;
while (node.next != null) {
node = node.next;
size++;
}
return size;
}
public int search(T data) {
Node<T> node = head;
int ctr = 0;
while (node != null) {
if (node.data.equals(data)) {
return ctr;
}
node = node.next;
ctr++;
}
return -1;
}
public String toString() {
return null;
}
public void reverse() {}
public T get(int n) {
return null;
}
public void insert(int index, T data) {}
public void delete(int index) {}
public void swap(int first, int second) {
}
}
class Main {
public static void main(String[] args) {
String bar = "Hello World";
Node<String> node = new Node<>(bar, null);
SinglyLinkedList<String> foo = new SinglyLinkedList<>(node);
System.out.println(foo.size());
System.out.println(foo.search(bar));
}
}