![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
grapeqin
这个作者很懒,什么都没留下…
展开
-
LeetCode 141:环形链表
题目描述:环形链表解题思路:经典快慢指针思路,声明慢指针slow每次走一步,声明快指针fast每次走两步,只要slow、fastv不为空并且fast.next不是链表尾,一直迭代,直到 slow 和 fast相遇,表示链表有环,否则链表无环。对于下面这个链表判断其是否有环(1)、先声明快慢指针Step1:slow、fast和fast.next 非空,slow步进一步,fast步进两步...原创 2019-12-03 15:13:39 · 189 阅读 · 1 评论 -
LeetCode 24:两两交换链表中的结点
题目描述:两两交换链表中的结点说明: 关于链表的元素到底叫结点还是节点,请参考:解题思路:该题的关键是需要记录好交换前结点的头指针(即完成交换后的尾结点),可以引入一个填充结点prev,其next指针初始指向head结点,为方便迭代,声明一个临时指针tmp=prev,当tmp.next和tmp.next.next不为空,一直迭代,整个交换过程可以抽象为:初始链表:(1)、声明指向前一个...原创 2019-12-03 12:39:26 · 228 阅读 · 0 评论 -
LeetCode 206:反转链表
题目描述:反转链表解题思路:单链表反转,其实就是将每个结点的next结点指向它的前置结点。(1)、先声明两个指针,prev表示结点的前置指针,初始化为NULL,当前指针cur,初始化为head,如下图所示:(2)、head指针指向cur的next结点(3)、将cur的next指针指向prev结点(4)、prev指向cur结点(5)、cur指向head结点依次类推,最后返回...原创 2019-12-02 16:33:53 · 171 阅读 · 0 评论 -
LeetCode 707:设计链表
题目描述:设计链表解题思路:一、单指针实现首先我们回顾链表的数据结构,它至少要有一个头指针,指向链表的第一个Node,数据和指向下一结点的指针存放在Node中。//头指针private Node head;//静态内部类Node,用于存放实际的数据private static final class Node{ private int val; private Node ne...原创 2019-12-02 11:28:55 · 382 阅读 · 0 评论