摘要:
环形链表 要求 1.给定一个链表,判断链表中是否有环。 2.为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 1,则在该链表中没有环。 思路 快慢指针遍历,如果指针重叠,代表有环。 示例 阅读全文
摘要:
设计链表 要求 链表增删改功能实现 示例 题目链接 阅读全文
摘要:
长度最小的子数组 要求 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。 思路 利用双指针,对比俩指针之间的和值与目标值的对比,并且记录下标差值,遍历结束后输出最小差值或0。 示例 阅读全文
摘要:
最大连续1的个数 要求 1.给定一个二进制数组, 计算其中最大连续1的个数。 思路 利用双指针,记录连续1的头和尾,遍历完之后,输出最大的差值。 示例 题目链接 阅读全文
摘要:
移除元素 要求 1.给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 2.不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 3.元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 思路 利用 阅读全文
摘要:
两数之和 II 输入有序数组 要求 1.给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 2.函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 3.说明: 返回的下标值(index1 和 index2)不是从零开始的。 阅读全文
摘要:
数组拆分 I 要求 给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。 思路 排序后相加。 示例 阅读全文
摘要:
反转字符串 要求 1.编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 2.不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 3.你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 思路 双指 阅读全文
摘要:
最长公共前缀 要求 1.编写一个函数来查找字符串数组中的最长公共前缀。 2.如果不存在公共前缀,返回空字符串 ""。 思路 进行逐一匹配之前先进行大小比较,符合对比要求,再进行逐一比对。 示例 阅读全文