
leetcode
HakenⅤ
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
交换字符使得字符串相同
交换字符使得字符串相同 有两个长度相同的字符串s1 和s2,且它们其中只含有字符"x" 和"y",你需要通过「交换字符」的方式使这两个字符串相同。 每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。 交换只能发生在两个不同的字符串之间,绝对不能发生在同一个字符串内部。也就是说,我们可以交换s1[i] 和s2[j],但不能交换s1[i] 和s1[j...原创 2019-11-03 16:48:15 · 3780 阅读 · 0 评论 -
反转链表
题目说明 反转一个单链表。 示例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-linked-...原创 2019-10-03 19:58:38 · 189 阅读 · 0 评论 -
删除链表的倒数第N个节点
题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 使用一趟扫描实现 来源:力扣(LeetCode) 链接:https://leetcod...原创 2019-09-30 19:12:31 · 160 阅读 · 0 评论 -
删除链表中的节点
题目描述 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 --head =[4,5,1,9],它可以表示为: 说明: 链表至少包含两个节点。 链表中所有节点的值都是唯一的。 给定的节点为非末尾节点并且一定是链表中的一个有效节点。 不要从你的函数中返回任何结果。 示例 1: 输入: head = [4,5,1,9],...原创 2019-09-30 16:49:34 · 164 阅读 · 0 评论 -
最长公共前缀
题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 示例1: 输入: ["flower","flow","flight"] 输出: "fl" 示例2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母a-z。 来源:力扣(LeetCode)...原创 2019-09-28 21:25:55 · 262 阅读 · 0 评论 -
用队列实现栈
问题描述 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是push to back, peek/pop from front, size, 和is empty这些操作是合法的。 你所使用的语言也许不支持队列。你可...原创 2019-09-26 08:57:35 · 201 阅读 · 0 评论 -
字符串转换整数 (atoi)
问题描述 请你来实现一个atoi函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字...原创 2019-09-24 09:49:07 · 156 阅读 · 0 评论 -
只出现一次的数字
问题描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 思路 遍历整个数组进行异或操作,由于每个元素均出现两次,只有一个元素只出现一次,其结果必为该元素 代码 class Solution { public int singleNumber(...原创 2019-09-20 10:21:25 · 97 阅读 · 0 评论 -
存在重复
题目描述 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 题目来源:存在重复 审题 关键字:整数数组、重复元素 思路 重复元素 Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉 整数数组 可以进行排序 对整数数组进行排序,然后遍历数组比对当前数与下一个数是否相等 代码 ...原创 2019-09-19 20:58:44 · 254 阅读 · 0 评论 -
旋转数组
问题描述: 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。 说明: 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 要求使用空间复杂度为O(1) 的原地算法。 题目来源:旋转数组 审题 关键字:旋转、原地 思路 题目提示使用旋转 旋转:将两端的数互换位置再向内部逼近,从而将数组旋转 将数组下标为n-k到n-1的数做旋转操作 ...原创 2019-09-19 20:34:19 · 155 阅读 · 0 评论 -
买卖股票的最佳时机 II
问题描述 给定一个数组,它的第i个元素是一支给定股票第i天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 题目来源:买卖股票的最佳时机 II 审题 关键字:最大利润、完成更多的交易、不能同时参与多笔交易 思路 最大利润 即 在遇到更高的价格卖出股票前...原创 2019-09-19 20:19:31 · 255 阅读 · 0 评论 -
从排序数组中删除重复项
从排序数组中删除重复项 问题描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 原题链接:从排序数组中删除重复项 审题 关键字:排序数组、原地删除、O(1) 额外空间 思路 因为是排序数组,所以重复出现的元素一定是连在一起的 用后面的数覆盖前面...原创 2019-09-19 20:05:25 · 249 阅读 · 0 评论