摘要: 问题 删除链表中等于给定值 val 的所有节点。 思路 删除链表中某个结点的方法:node next = node next next,可以删除node的下一个结点;考虑到链表的头结点也可能被删除,所以使用dummyHead。 C++代码实现 阅读全文
posted @ 2019-02-27 20:13 surimj 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目 找到两个单链表相交的起始节点。 如果两个链表没有交点,返回 null。 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。 方法1 思路 两个指针分别从A和B开始,一个先走完A再走B,一个先走完B再走A,交点 阅读全文
posted @ 2019-02-27 16:17 surimj 阅读(147) 评论(0) 推荐(1) 编辑
摘要: 问题 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 思路 用快慢指针相遇的方法,判断链表是否有环;若有环,再找入环点。 如上图,设入环点为A,快慢指针相遇点为B(两指针相遇点肯定在环内),设从头指针到入环点的距离为a,从入环点到相遇点的距离为b。 快指针的速度是慢指 阅读全文
posted @ 2019-02-27 13:15 surimj 阅读(437) 评论(0) 推荐(0) 编辑