链表
class Node1 {
public int val;
public Node1 next;
public Node1 ( int val) {
this . val = val;
}
}
public class MyLinkedList {
public boolean find ( Node1 head, int val) {
if ( head == null) return false ;
Node1 cur = head;
while ( cur!= null) {
if ( cur. val == val) {
return true ;
}
cur = cur. next;
}
return false ;
}
public void addFirst ( int data, Node1 head) {
Node1 node1 = new Node1 ( data) ;
if ( head == null) {
head = node1;
}
node1. next = head;
head = node1;
}
public void addlast ( int data, Node1 head) {
Node1 node1 = new Node1 ( data) ;
if ( head == null) {
head = node1;
}
Node1 cur = head;
while ( cur . next!= null) {
cur= cur. next;
}
cur. next= node1;
}
public void addIndex ( int gos, int data, Node1 head) {
Node1 node1 = new Node1 ( data) ;
Node1 cur = head;
while ( gos!= 1 ) {
cur = cur. next;
gos-- ;
if ( cur == null) {
break ;
}
}
if ( gos == 0 && cur!= null) {
node1. next = cur. next;
cur. next = node1;
}
}
public boolean contains ( int key, Node1 head) {
Node1 cur = head;
while ( cur. next!= null) {
if ( cur. val == key) {
return true ;
}
}
return false ;
}
public void remove ( int key, Node1 head) {
Node1 cur = head;
Node1 perp = null;
while ( cur. next!= null) {
if ( cur. val== key) {
perp. next = cur. next;
break ;
}
perp = cur;
cur = cur. next;
}
}
public void removeAll ( int key, Node1 head) {
Node1 cur = head;
Node1 perp = null;
while ( cur. next!= null) {
if ( cur. val== key) {
perp. next = cur. next;
}
perp = cur;
cur = cur. next;
}
}
public int size ( Node1 head) {
if ( head == null) {
return 0 ;
}
int size = 0 ;
Node1 cur = head;
while ( cur!= null) {
cur = cur. next;
size++ ;
}
return size;
}
public void clear ( Node1 head) {
Node1 cur = head;
while ( cur!= null) {
Node1 curNext = cur. next;
cur. next = null;
cur = curNext;
}
head = null;
}
}