![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
Vanilla_Chi
这个作者很懒,什么都没留下…
展开
-
有序链表合并
将两个有序链表合并https://leetcode.com/problems/merge-two-sorted-lists/ Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the原创 2015-03-27 11:00:47 · 539 阅读 · 0 评论 -
链表相关简介
链表相关题目: 注:链表操作的难度在于如何考虑全面,思维逻辑一定要清晰,不要出现空指针异常单链表的基本操作建立插入删除特殊查找找出单链表中间位置节点找到或者删除链表中倒数第k个结点未给头结点的插入和删除只给定单链表中某个结点p(非空结点),在p前面插入一个结点。只给定单链表中某个结点p(并非最后一个结点)指针,删除该结点。删除重复数据从有序链表中删除重复数据,每种数据留下一个。从有序链原创 2015-03-18 11:07:26 · 509 阅读 · 0 评论 -
链表实现两个数字相加
两个用链表表示的数字相加 https://leetcode.com/problems/add-two-numbers/ You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contai原创 2015-04-03 09:32:36 · 1441 阅读 · 0 评论 -
O(1)时间的插入与删除
**只给定单链表中某个结点p,O(1)时间内在p前面插入一个结点。返回头结点。** **要询问节点是否一定在链表中(否则判断的时间复杂度为O(n)),是否为空等这些条件。 采用交换值的方法,相当于在该节点后插入节点。public static ListNode insertNodeBeforeNode(ListNode head, ListNode node, ListNode newNode)原创 2015-03-23 09:13:22 · 1390 阅读 · 0 评论 -
链表的特殊查找
定义链表节点public class ListNode { public int val; public ListNode next; public ListNode(int x){ val = x; next = null; }}找出单链表中间位置节点p与q指针同步,q若走不了两步了,p也不要走,因此只判断q是否能走两步即可。p原创 2015-03-22 10:39:12 · 720 阅读 · 0 评论 -
有序链表删除重复元素
从有序链表中删除重复元素,每种剩下一个。1->1->2->2->3->4->4;===>1->2->3->4 两个游标p,q走。p为标杆值,若q的值等于p时,p继续走,不等于时,就将p的下一个置为q。public ListNode deleteDuplicates(ListNode head){ if(head != null){ ListNode p = head, q原创 2015-03-23 10:14:16 · 959 阅读 · 0 评论 -
链表性质判断
判断单链表是否有环,如果有环的话请返回从头结点进入环的第一个节点,没有就返回null https://leetcode.com/problems/linked-list-cycle-ii/ 两个游标指针一起从头走,一个走一步,一个走两步,若能再次相遇,就说明有环. 两个指针分别从头和相遇处走,再次相遇处就是相交点。public ListNode detectCycle(ListNode hea原创 2015-03-30 11:12:01 · 573 阅读 · 0 评论 -
链表性质判断
判断单链表是否有环,如果有环的话请返回从头结点进入环的第一个节点,没有就返回null https://leetcode.com/problems/linked-list-cycle-ii/ 两个游标指针一起从头走,一个走一步,一个走两步,若能再次相遇,就说明有环. 两个指针分别从头和相遇处走,再次相遇处就是相交点。public ListNode detectCycle(ListNode hea原创 2015-03-30 11:09:36 · 441 阅读 · 0 评论 -
特殊列表拷贝
拷贝带有random域的特殊链表Copy List with Random Pointer https://leetcode.com/problems/copy-list-with-random-pointer/ A linked list is given such that each node contains an additional random pointer which could原创 2015-03-30 11:07:07 · 404 阅读 · 0 评论 -
链表排序相关
将链表按给定标准值(pivot)分割Partition List https://leetcode.com/problems/partition-list/ Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal t原创 2015-03-30 09:39:11 · 508 阅读 · 0 评论 -
链表重组篇
主要涉及链表的重组,通常是按规定的对链表逆序,旋转等操作,常用到递归思想,所以要明确递归的输入输出是什么 注意:当给出链表是空,或者一个节点时程序不要崩溃。将链表逆向反转、逆向输出链表(递归、非递归)1.从尾向头打印链表——剑指offer5 方法: 可以顺序遍历链表,将值存栈中,最后再输出;也可以直接递归输出。 注:其实实质一定会用到递归,因为要从后向前输出值,因此,最开始访问的值一定要用什么原创 2015-03-27 08:49:40 · 945 阅读 · 0 评论