public class MyLinkList {
@NonNull
private Node mNode;
public MyLinkList() {
//创建头结点
mNode = new Node();
}
public void add(Node node) {
//创建临时移动指针指向节点
Node temp = mNode;
while (temp.next != null) {
temp = temp.next;
}
//将尾部节点的next指向node
temp.next = node;
}
public int length() {
Node temp = mNode;
int l = 0;
while (temp.next != null) {
l++;
temp = temp.next;
}
//结尾了
return l;
}
public void removeLast() {
Node temp = mNode;
while (temp.next != null) {
if (temp.next.next != null) {
temp = temp.next;
} else {
temp.next = null;
}
}
//尾部
}
public void removeNode(Node node) {
Node temp = mNode;
while (temp.next != null) {
//下一个节点不是该节点
if (temp.next != node) {
temp = temp.next;
} else {
//下一个节点就是该节点,将next指向下下节点
temp.next=temp.next.next;
}
}
}
public static class Node {
private String data;
private Node next;
public Node() {
}
public Node(String data) {
this.data = data;
}
}
}
网友评论