public class MyLinkList {
@NonNull
private Node mNode;
public MyLinkList() {
//創(chuàng)建頭結(jié)點(diǎn)
mNode = new Node();
}
public void add(Node node) {
//創(chuàng)建臨時(shí)移動(dòng)指針指向節(jié)點(diǎn)
Node temp = mNode;
while (temp.next != null) {
temp = temp.next;
}
//將尾部節(jié)點(diǎn)的next指向node
temp.next = node;
}
public int length() {
Node temp = mNode;
int l = 0;
while (temp.next != null) {
l++;
temp = temp.next;
}
//結(jié)尾了
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) {
//下一個(gè)節(jié)點(diǎn)不是該節(jié)點(diǎn)
if (temp.next != node) {
temp = temp.next;
} else {
//下一個(gè)節(jié)點(diǎn)就是該節(jié)點(diǎn),將next指向下下節(jié)點(diǎn)
temp.next=temp.next.next;
}
}
}
public static class Node {
private String data;
private Node next;
public Node() {
}
public Node(String data) {
this.data = data;
}
}
}