链表问题
- 删除链表中重复数据
- 遍历一次放入HashMap中,若已存在则删除
- 两次循环,外循环找到一个值之后,做内循环检查是否有重复,有则删除。
- 找出链表中倒数第k个元素
- 两个指针,第一个先走k-1步,第二再走,当第一个到达尾部时,第一个指针所指位置
- 从尾到头输出单链表
- 使用栈
- 寻找单链表中点
- 两个指针,一个一次走一步,一个一次走两步
- 检测链表有环
- 两个指针,一个一次走一步,一个一次走两步。若快慢指针相遇则说明链表有环。
- 在不知道头指针的情况下删除某节点
- 把这个节点后一个的值赋到到当前指针,再删除,后一个指针
- 如何判断两个链表相交
- 相交一定有相同尾节点
- 找到相交点:计算两个链表长度差,让长链表的指针先走长度差再一起走