摘要: 技巧 1. 通过一些测试用例可以节省您的时间。 使用链表时不易调试。因此,在编写代码之前,自己尝试几个不同的示例来验证您的算法总是很有用的。 2. 你可以同时使用多个指针。 有时,当你为链表问题设计算法时,可能需要同时跟踪多个结点。您应该记住需要跟踪哪些结点,并且可以自由地使用几个不同的结点指针来同 阅读全文
posted @ 2021-09-22 17:23 jerryfish 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 707. 设计链表 单链表 class MyLinkedList { constructor () { this.data = null } // 获取链表中第 index 个节点的值。如果索引无效,则返回-1 get (index) { let curr = this.data for (let 阅读全文
posted @ 2021-09-22 16:25 jerryfish 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1. 在调用 next 字段之前,始终检查节点是否为空。 获取空节点的下一个节点将导致空指针错误。例如,在我们运行 fast = fast.next.next 之前,需要检查 fast 和 fast.next 不为空。 2. 仔细定义循环的结束条件。 141. 环形链表 var hasCycle = 阅读全文
posted @ 2021-09-22 16:07 jerryfish 阅读(36) 评论(0) 推荐(0) 编辑