leetcode
dpter
终有一日,繁花似锦。
展开
-
回文链表
请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 解答: /** * Definition for singly-linked list. * struct ListNode { *...原创 2020-03-21 00:23:16 · 92 阅读 · 0 评论 -
反转链表
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 解答: /** * Definition for singly-linked list. * struct ListNode { *...原创 2020-03-21 00:21:42 · 365 阅读 · 0 评论 -
奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2->3->4->5->NULL 输出: 1->3->5->...原创 2020-03-20 23:50:53 · 104 阅读 · 0 评论 -
移除链表元素
删除链表中等于给定值val的所有节点。 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5 解答: /** * Definition for singly-linked list. * struct ListNode { * int val; * ...原创 2020-03-20 23:49:55 · 106 阅读 · 0 评论 -
删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 解答: /** * Definition for sing...原创 2020-03-20 23:47:48 · 85 阅读 · 0 评论 -
删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 解答: /** * Definition for sing...原创 2020-03-15 22:41:16 · 133 阅读 · 0 评论 -
相交链表
编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节点的...原创 2020-03-15 22:40:19 · 60 阅读 · 0 评论 -
环形链表 II
给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:tail connects to node ind...原创 2020-03-15 22:38:25 · 86 阅读 · 0 评论 -
环形链表
给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例2: 输入:head = [1,2], pos =...原创 2020-03-15 22:36:11 · 91 阅读 · 0 评论