链表问题

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