
package com.zhouyou.list;
public class MyLinkedList {
private ListNode head;
private int size = 0;
public void insertHead(int data){
ListNode node = new ListNode(data);
node.next = head;
head = node;
}
public void insertNth(int data,int position){
if (position == 0){
insertHead(data);
}else {
ListNode cur = head;
for (int i = 1; i < position; i++) {
cur = cur.next;
}
ListNode newNode = new ListNode(data);
newNode.next = cur.next;
cur.next = newNode;
}
}
public void deleteHead(){
head = head.next;
}
public void deleteNth(int position) {
if(position == 0) {
deleteHead();
}else{
ListNode cur = head;
for(int i = 1; i < position ; i ++){
cur = cur.next;
}
cur.next = cur.next.next;
}
}
public void print(){
ListNode cur = head;
while(cur != null){
System.out.print(cur.value + " ");
cur = cur.next;
}
System.out.println();
}
public static void main(String[] args) {
MyLinkedList myList = new MyLinkedList();
myList.insertHead(5);
myList.insertHead(7);
myList.insertHead(10);
myList.print();
myList.deleteNth(0);
myList.print();
myList.deleteHead();
myList.print();
myList.insertNth(11, 1);
myList.print();
myList.deleteNth(1);
myList.print();
}
}
class ListNode{
int value;
ListNode next;
ListNode(int value){
this.value = value;
this.next = null;
}
}