看到博主SADSDSDDASDASD的Java实现, 原文链接点击打开链接,感觉可以改进一下。(核心是减少一个while循环)
Play算法可以简化一下,1、找到删除节点的前一节点(主要是m-1)
for (int j = 1; j < m-1; j++){
temp = temp.nextChild;
}
2、临时变量存删除节点,并删除节点(temp2定义放到循环体前去)。
Child temp2 = temp.nextChild;
temp.nextChild = temp2.nextChild;
3、打印已删除节点
4、维护链表len并获取下一轮循环开始节点,
this.len--;
temp = temp.nextChild;