
双指针技巧
lucky__peng
这个作者很懒,什么都没留下…
展开
-
leetcode344. 反转字符串
题目地址 https://leetcode-cn.com/problems/reverse-string/ 题目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:["h","e","l","l","o"] 输出:["o","l","l","e","h"] 示例 2: 输入:原创 2021-04-01 10:25:16 · 100 阅读 · 0 评论 -
leetcode19. 删除链表的倒数第 N 个结点
题目地址 https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ 题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 提示:原创 2021-04-01 09:04:15 · 133 阅读 · 0 评论 -
leetcode876. 链表的中间结点
题目地址 https://leetcode-cn.com/problems/middle-of-the-linked-list/ 题目描述 给定一个头结点为 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 注意点 当链表节点为偶数个时,按以下方法得到的slow会是第二个中间节点 代码实现 javascript var middleNode = function(head) { let slow = head, fast = head; while原创 2021-03-31 21:55:25 · 85 阅读 · 0 评论 -
leetcode142. 环形链表 II
题目地址 https://leetcode-cn.com/problems/linked-list-cycle-ii/ 题目描述 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 代码实现 javascript var detectCycle = function(head) { let slow = head, fast = head; while (fast && fast.next) { slow = slow.next;原创 2021-03-31 09:44:48 · 73 阅读 · 0 评论 -
leetcode141. 环形链表
题目地址 https://leetcode-cn.com/problems/linked-list-cycle/ 题目描述 给定一个链表,判断链表中是否有环。 如果链表中存在环,则返回 true 。 否则,返回 false 。 代码实现 javascript var hasCycle = function(head) { let slow = head, fast = head; while (fast && fast.next) { fast = fast原创 2021-03-29 22:58:40 · 82 阅读 · 0 评论