我遇到了一个问题,例如,如何知道链表中删除了哪个节点。例如:有一个包含多个节点的链表,链表传递给一个函数,该函数将删除一个任意节点并将列表返回..有没有办法知道哪个节点被删除了。
根据我的观点,在传递链表之前,我们需要维护一个数组,该数组将包含列表中每个节点的所有地址,删除后我们需要遍历并找出哪个节点被删除。
什么是最好的方法。
前任:
public class GetDeletedNode{
public static void main(String args[]){
LinkedList<String> ll = new LinkedList<String>();
ll.add("a");
ll.add("b");
ll.add("c");
ll.add("d");
ll = deleteArbitaryNode(ll);
//write code to get know which node got deleted.
//
//code goes here
for(String str:ll){
System.out.println(str);
}
}
private static LinkedList<String> deleteArbitaryNode(LinkedList<String> ll) {
//delete arbitary node
Random random = new Random();
ll.remove((int)((long)3*random.nextDouble()+1));
return ll;
}
}