刷题——List
想当厨子的程序媛
前期追深度,否则会华而不实,后期追广度,否则会坐井观天;
展开
-
【List-easy】237. Delete Node in a Linked List 删除链表中指定元素
1. 题目原址https://leetcode.com/problems/delete-node-in-a-linked-list/2. 题目描述3. 题目大意给定一个链表,删除链表中的指定元素,只给了要删除的元素。4. 解题思路然要删除的元素的后面元素等于要删除的元素,然后将要删除的元素后面的元素移除就可以了。5. AC代码/** * Definition for singl...原创 2019-05-30 09:11:32 · 167 阅读 · 0 评论 -
【List-medium】61. Rotate List 反转链表
1. 题目原址https://leetcode.com/problems/rotate-list/2. 题目描述3. 题目大意给定一个链表,和一个整数k,将第K个元素后面的元素翻转的链表前面4. 解题思路首先遍历一遍链表,得到链表的长度然后计算需要反转的次数,并且找到需要第一次改变的位置5. AC代码class Solution { public ListNode ...原创 2019-06-11 14:29:24 · 146 阅读 · 0 评论 -
【List-medium】817. Linked List Components
1. 题目原址https://leetcode.com/problems/linked-list-components/2. 题目描述3. 题目大意给定一个链表,和一个数组,返回数组将链表分割为几段。4. 解题思路首先将给定的数组放到一个Set集合中如果链表的当前值在数组中,就将链表往前移动,一直移动到链表的当前值不在数组中将返回值ret ++ ,然后将temp ++ . te...原创 2019-06-11 10:49:44 · 147 阅读 · 0 评论 -
【List-medium】445. Add Two Numbers II 两个链表相加
1. 题目原址https://leetcode.com/problems/add-two-numbers-ii/2. 题目描述3. 题目大意给定两个链表,将两个链表对应位置的元素相加。4. 解题思路首先判断链表是否为空等将两个链表都逆序,因为正常加需要进位到前面,而逆序之后只需要将进位的元素加到后面即可。进行while循环,循环的条件是:两个链表都不为空,将相加的结果放到返回的...原创 2019-06-15 22:38:10 · 148 阅读 · 0 评论 -
【List-easy】160. Intersection of Two Linked Lists 找到两个链表重合节点的第一个结点
1. 题目原址https://leetcode.com/problems/intersection-of-two-linked-lists/2. 题目描述3. 题目大意给定两个链表,找两个链表的公共节点的第一个结点4. 解题思路一定是按照短的链表进行遍历的,所以需要将长的链表遍历到跟短的链表一样长再开始一起遍历步骤一: 首先得到两个链表的长度。步骤二: 遍历长的那个链表,使得长...原创 2019-06-03 21:09:33 · 335 阅读 · 0 评论 -
【List-easy】203. Remove Linked List Elements 将链表中的给定值节点删除
1. 题目原址https://leetcode.com/problems/remove-linked-list-elements/+2. 题目描述3. 题目大意给定一个链表和一个值,将链表中的给定值节点删除。4. 解题思路签到题5. AC代码class Solution { public ListNode removeElements(ListNode head, i...原创 2019-06-03 20:36:23 · 150 阅读 · 0 评论 -
【List-easy】234. Palindrome Linked List 判断给定链表是否是回文链表
1. 题目原址https://leetcode.com/problems/palindrome-linked-list/2. 题目描述3. 题目大意给定一个链表,判断链表是否是回文链表4. 解题思路步骤一:将链表的前半部分进行反转。使用快慢指针,当快指针走到链表末尾的时候,链表就不需要反转了。步骤二:然后从中间开始向两边进行遍历。5. AC代码class Solution ...原创 2019-06-03 20:18:23 · 170 阅读 · 0 评论 -
【List-easy】141. Linked List Cycle 判断链表是否有环
1. 题目原址https://leetcode.com/problems/linked-list-cycle/2. 题目描述3. 题目大意给定一个链表,判断链表是否有环4. 解题思路循环,把链表中遍历到的每个节点都指向自身,循环退出的条件就是如果当前节点的下一个节点是指向自己,那么就存在环。5. AC代码public class Solution { public boo...原创 2019-06-03 20:07:36 · 132 阅读 · 0 评论 -
【List-easy】206. Reverse Linked List 反转链表
1. 题目原址https://leetcode.com/problems/middle-of-the-linked-list/2. 题目描述3. 题目大意给定一个链表,反转这个链表4. 解题思路首先定义三个指针,当前指针cur, 当前指针的前一个指针 pre, 当前指针的后面的指针postpre指向给定链表的头, cur指针给定链表的后一个元素,然后将给定链表的头指向null进...原创 2019-05-29 17:22:04 · 129 阅读 · 0 评论 -
【List-easy】876. Middle of the Linked List 找到链表的中间元素
1. 题目原址https://leetcode.com/problems/middle-of-the-linked-list/2. 题目描述3. 题目大意给定一个链表,找到链表中处于中间的元素。4. 解题思路使用快慢指针。快指针每次走两步,慢指针每次走一步,当快指针到达链表的末尾时,慢指针的位置就是链表的中间元素5. AC代码class Solution { publi...原创 2019-05-29 17:11:39 · 189 阅读 · 0 评论 -
【List-easy】83. Remove Duplicates from Sorted List 使链表中重复元素只剩一个
1. 题目原址https://leetcode.com/problems/remove-duplicates-from-sorted-list/2. 题目描述3. 题目大意给定一个链表,要求移除链表中的重复元素,使得重复元素只剩下一个4. 解题思路先定义一个节点temp指向链表的头,进行循环当 temp不为空的之后。再定义一个节点next指向 temp的下一个节点,如果 next...原创 2019-05-30 09:30:48 · 160 阅读 · 0 评论 -
【List-easy】21. Merge Two Sorted Lists 合并两个排序链表
1. 题目原址https://leetcode.com/problems/merge-two-sorted-lists/2. 题目描述3. 题目大意给定两个有序链表,要求合并这两个有序链表4. 解题思路首先要定义一个返回的链表的头,要有一个头结点然后开始对给定的两个链表进行循环,如果链表一的值小于链表二的值,就指向链表一,否则指向链表二最后有可能一个链表比另一个链表长,所以最后...原创 2019-05-30 09:22:22 · 173 阅读 · 0 评论 -
【List-medium】328. Odd Even Linked List 偶数位置放在后面,奇数位置元素放到前面
1. 题目原址https://leetcode.com/problems/odd-even-linked-list/2. 题目描述3. 题目大意给定一个链表,将链表的奇数位置的元素连接起来放到前面,偶数位置的元素连接起来放到所有奇数元素的后面4. 解题思路5. AC代码class Solution { public ListNode oddEvenList(ListNode...原创 2019-06-18 11:37:47 · 778 阅读 · 0 评论