class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
public class StupidLinkedList {
private ListNode head;
private ListNode tail;
public StupidLinkedList() {
head = null;
tail = null;
}
public void add(int val) {
ListNode newNode = new ListNode(val);
if (head == null) {
head = newNode;
tail = newNode;
} else {
tail.next = newNode;
tail = newNode;
}
}
public void remove(int val) {
ListNode curr = head;
ListNode prev = null;
while (curr != null) {
if (curr.val == val) {
if (prev == null) {
head = curr.next;
} else {
prev.next = curr.next;
}
if (curr == tail) {
tail = prev;
}
break;
}
prev = curr;
curr = curr.next;
}
}
public void printList() {
ListNode curr = head;
while (curr != null) {
System.out.print(curr.val + " ");
curr = curr.next;
}
System.out.println();
}
public static void main(String[] args) {
StupidLinkedList list = new StupidLinkedList();
list.add(1);
list.add(2);
list.add(3);
list.remove(2);
}
}