在Java节点类中的何处放置DeleteNode?
我有以下节点类用于实现链表:在Java节点类中的何处放置DeleteNode?,java,linked-list,Java,Linked List,我有以下节点类用于实现链表: class Node { Node next = null; int data; public Node (int d) { data = d; } void AppendToTail (int d) { Node end = new Node(d); Node current = this; while (current.next != null) { current = current.nex
class Node {
Node next = null;
int data;
public Node (int d) {
data = d;
}
void AppendToTail (int d) {
Node end = new Node(d);
Node current = this;
while (current.next != null) {
current = current.next;
}
current.next = end;
}
}
我想创建一个方法,给定一个节点,它将从链表中删除它。我知道如何创建这样的函数。但我不确定如何才能让它适合我的课堂
Node deleteNode(Node head, Node toDelete) {
Node n = head;
if (n.data == toDelete.data) {
return head.next;
}
while (n.next != null) {
if (n.next.data == toDelete.data) {
n.next = n.next.next;
return head;
}
n = n.next;
}
return head;
}
但是,我不知道如何将其放入我的节点类中。有什么建议吗?将函数设置为节点类中的静态函数。我看到的一个问题是,您没有将附加和删除函数放入链表类而不是节点类中。您应该使节点类与链表类完全分离。因此,可以在链表类中使用append和delete方法来添加和删除节点类的实例。这对您很有帮助,因为这样您就不必担心其创建的节点类,只需关注链表类中的实现 您是在问如何实现该方法,还是在类中实际地以语法方式编写它?如何在类中以语法方式编写它。我不确定我是否应该通过头部。。。